From b04c2e1a42573e9735547702356c7b9a769a6855 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 7 Apr 2013 18:26:53 +0000 Subject: texmf -> texmf-dist: doc git-svn-id: svn://tug.org/texlive/trunk@29714 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/asymptote/CAD.pdf | Bin 0 -> 67553 bytes .../doc/asymptote/TeXShopAndAsymptote.pdf | Bin 0 -> 31448 bytes Master/texmf-dist/doc/asymptote/asy-latex.pdf | Bin 0 -> 194336 bytes Master/texmf-dist/doc/asymptote/asyRefCard.pdf | Bin 0 -> 47440 bytes Master/texmf-dist/doc/asymptote/asymptote.pdf | Bin 0 -> 1234515 bytes .../texmf-dist/doc/asymptote/examples/100d.views | 30 + .../texmf-dist/doc/asymptote/examples/1overx.asy | 17 + .../doc/asymptote/examples/BezierPatch.asy | 14 + .../doc/asymptote/examples/BezierSurface.asy | 43 + Master/texmf-dist/doc/asymptote/examples/Bode.asy | 27 + Master/texmf-dist/doc/asymptote/examples/CAD1.asy | 43 + .../texmf-dist/doc/asymptote/examples/CDlabel.asy | 14 + Master/texmf-dist/doc/asymptote/examples/Coons.asy | 6 + .../doc/asymptote/examples/GaussianSurface.asy | 21 + .../texmf-dist/doc/asymptote/examples/Gouraud.asy | 18 + .../doc/asymptote/examples/Gouraudcontour.asy | 31 + .../doc/asymptote/examples/HermiteSpline.asy | 14 + .../doc/asymptote/examples/Hobbycontrol.asy | 20 + .../texmf-dist/doc/asymptote/examples/Hobbydir.asy | 21 + Master/texmf-dist/doc/asymptote/examples/Klein.asy | 51 + .../doc/asymptote/examples/NURBScurve.asy | 33 + .../doc/asymptote/examples/NURBSsphere.asy | 46 + .../doc/asymptote/examples/NURBSsurface.asy | 62 + .../doc/asymptote/examples/Pythagoras.asy | 22 + .../doc/asymptote/examples/PythagoreanTree.asy | 20 + .../doc/asymptote/examples/RiemannSurface.asy | 13 + .../doc/asymptote/examples/RiemannSurfaceRoot.asy | 16 + .../doc/asymptote/examples/Sierpinski.asy | 17 + .../doc/asymptote/examples/SierpinskiGasket.asy | 31 + .../doc/asymptote/examples/SierpinskiSponge.asy | 99 + .../doc/asymptote/examples/advection.asy | 87 + .../texmf-dist/doc/asymptote/examples/alignbox.asy | 9 + .../doc/asymptote/examples/alignedaxis.asy | 107 + .../doc/asymptote/examples/animations/cube.asy | 46 + .../asymptote/examples/animations/earthmoon.asy | 78 + .../examples/animations/embeddedmovie.asy | 24 + .../asymptote/examples/animations/embeddedu3d.asy | 6 + .../examples/animations/externalmovie.asy | 17 + .../doc/asymptote/examples/animations/glmovie.asy | 21 + .../asymptote/examples/animations/heatequation.asy | 76 + .../asymptote/examples/animations/inlinemovie.tex | 55 + .../asymptote/examples/animations/inlinemovie3.tex | 44 + .../doc/asymptote/examples/animations/pdfmovie.asy | 20 + .../asymptote/examples/animations/slidemovies.asy | 47 + .../doc/asymptote/examples/animations/sphere.asy | 42 + .../examples/animations/torusanimation.asy | 43 + .../asymptote/examples/animations/wavepacket.asy | 86 + .../doc/asymptote/examples/animations/wheel.asy | 63 + .../doc/asymptote/examples/annotation.asy | 13 + .../texmf-dist/doc/asymptote/examples/arrows3.asy | 22 + Master/texmf-dist/doc/asymptote/examples/axis3.asy | 12 + Master/texmf-dist/doc/asymptote/examples/bars3.asy | 22 + .../doc/asymptote/examples/basealign.asy | 44 + .../texmf-dist/doc/asymptote/examples/bezier.asy | 1 + .../texmf-dist/doc/asymptote/examples/bezier2.asy | 21 + .../doc/asymptote/examples/beziercurve.asy | 12 + .../doc/asymptote/examples/bigdiagonal.asy | 2 + .../doc/asymptote/examples/billboard.asy | 10 + .../doc/asymptote/examples/binarytreetest.asy | 13 + .../doc/asymptote/examples/brokenaxis.asy | 25 + .../doc/asymptote/examples/buildcycle.asy | 22 + .../texmf-dist/doc/asymptote/examples/cardioid.asy | 15 + Master/texmf-dist/doc/asymptote/examples/cards.asy | 26 + .../doc/asymptote/examples/centroidfg.asy | 38 + .../texmf-dist/doc/asymptote/examples/cheese.asy | 12 + .../texmf-dist/doc/asymptote/examples/circles.asy | 33 + .../doc/asymptote/examples/clockarray.asy | 39 + Master/texmf-dist/doc/asymptote/examples/coag.asy | 16 + .../texmf-dist/doc/asymptote/examples/colons.asy | 1 + .../doc/asymptote/examples/colorplanes.asy | 22 + .../texmf-dist/doc/asymptote/examples/colors.asy | 116 + .../texmf-dist/doc/asymptote/examples/condor.asy | 32 + Master/texmf-dist/doc/asymptote/examples/cones.asy | 18 + .../texmf-dist/doc/asymptote/examples/conicurv.asy | 49 + .../doc/asymptote/examples/contextfonts.asy | 10 + .../doc/asymptote/examples/controlsystem.asy | 25 + .../doc/asymptote/examples/cos2theta.asy | 15 + Master/texmf-dist/doc/asymptote/examples/cos3.asy | 25 + .../doc/asymptote/examples/cosaddition.asy | 26 + .../doc/asymptote/examples/cpkcolors.asy | 259 + Master/texmf-dist/doc/asymptote/examples/cube.asy | 15 + .../doc/asymptote/examples/curvedlabel.asy | 4 + .../doc/asymptote/examples/curvedlabel3.asy | 17 + .../doc/asymptote/examples/cyclohexane.asy | 80 + .../texmf-dist/doc/asymptote/examples/cylinder.asy | 8 + .../doc/asymptote/examples/cylinderskeleton.asy | 6 + .../doc/asymptote/examples/datagraph.asy | 12 + Master/texmf-dist/doc/asymptote/examples/delu.asy | 29 + .../texmf-dist/doc/asymptote/examples/diagonal.asy | 1 + .../texmf-dist/doc/asymptote/examples/diatom.asy | 129 + .../texmf-dist/doc/asymptote/examples/diatom.csv | 28 + .../doc/asymptote/examples/dimension.asy | 23 + Master/texmf-dist/doc/asymptote/examples/dots.asy | 1 + .../texmf-dist/doc/asymptote/examples/dragon.asy | 66 + .../texmf-dist/doc/asymptote/examples/eetomumu.asy | 60 + .../doc/asymptote/examples/electromagnetic.asy | 47 + .../doc/asymptote/examples/elevation.asy | 17 + .../texmf-dist/doc/asymptote/examples/elliptic.asy | 115 + Master/texmf-dist/doc/asymptote/examples/epix.asy | 14 + .../doc/asymptote/examples/equilateral.asy | 12 + .../doc/asymptote/examples/equilchord.asy | 21 + .../doc/asymptote/examples/errorbars.asy | 42 + Master/texmf-dist/doc/asymptote/examples/exp.asy | 14 + Master/texmf-dist/doc/asymptote/examples/exp3.asy | 22 + .../doc/asymptote/examples/externalprc.tex | 12 + .../doc/asymptote/examples/extrudedcontour.asy | 26 + Master/texmf-dist/doc/asymptote/examples/fano.asy | 28 + .../texmf-dist/doc/asymptote/examples/fequlogo.asy | 40 + Master/texmf-dist/doc/asymptote/examples/fermi.asy | 40 + .../doc/asymptote/examples/filegraph.asy | 15 + .../doc/asymptote/examples/filegraph.dat | 4 + .../doc/asymptote/examples/filesurface.asy | 45 + .../doc/asymptote/examples/filesurface.dat | 12 + .../doc/asymptote/examples/fillcontour.asy | 29 + Master/texmf-dist/doc/asymptote/examples/fin.asy | 152 + .../texmf-dist/doc/asymptote/examples/fjortoft.asy | 27 + .../doc/asymptote/examples/floatingdisk.asy | 26 + Master/texmf-dist/doc/asymptote/examples/floor.asy | 28 + Master/texmf-dist/doc/asymptote/examples/flow.asy | 31 + .../doc/asymptote/examples/flowchartdemo.asy | 27 + .../doc/asymptote/examples/fractaltree.asy | 27 + .../doc/asymptote/examples/functionshading.asy | 31 + .../texmf-dist/doc/asymptote/examples/galleon.asy | 14 + Master/texmf-dist/doc/asymptote/examples/gamma.asy | 24 + .../texmf-dist/doc/asymptote/examples/gamma3.asy | 33 + .../doc/asymptote/examples/generalaxis.asy | 11 + .../doc/asymptote/examples/generalaxis3.asy | 13 + .../doc/asymptote/examples/graphmarkers.asy | 37 + Master/texmf-dist/doc/asymptote/examples/grid.asy | 7 + .../texmf-dist/doc/asymptote/examples/grid3xyz.asy | 17 + Master/texmf-dist/doc/asymptote/examples/hatch.asy | 11 + Master/texmf-dist/doc/asymptote/examples/helix.asy | 20 + .../doc/asymptote/examples/hierarchy.asy | 9 + .../doc/asymptote/examples/histogram.asy | 19 + .../doc/asymptote/examples/hyperboloid.asy | 8 + .../asymptote/examples/hyperboloidsilhouette.asy | 9 + Master/texmf-dist/doc/asymptote/examples/icon.asy | 22 + Master/texmf-dist/doc/asymptote/examples/image.asy | 21 + .../doc/asymptote/examples/imagecontour.asy | 38 + .../doc/asymptote/examples/imagehistogram.asy | 47 + .../texmf-dist/doc/asymptote/examples/impact.asy | 29 + .../doc/asymptote/examples/integraltest.asy | 38 + .../doc/asymptote/examples/interpolate1.asy | 226 + Master/texmf-dist/doc/asymptote/examples/intro.asy | 958 + .../doc/asymptote/examples/irregularcontour.asy | 21 + Master/texmf-dist/doc/asymptote/examples/join.asy | 15 + Master/texmf-dist/doc/asymptote/examples/join3.asy | 21 + Master/texmf-dist/doc/asymptote/examples/jump.asy | 14 + Master/texmf-dist/doc/asymptote/examples/knots.asy | 27 + .../texmf-dist/doc/asymptote/examples/label3.asy | 7 + .../doc/asymptote/examples/label3ribbon.asy | 6 + .../doc/asymptote/examples/label3solid.asy | 6 + .../doc/asymptote/examples/label3zoom.asy | 16 + .../texmf-dist/doc/asymptote/examples/labelbox.asy | 11 + .../doc/asymptote/examples/labelsquare.asy | 6 + .../doc/asymptote/examples/laserlattice.asy | 44 + .../doc/asymptote/examples/latexusage.tex | 117 + .../doc/asymptote/examples/latticeshading.asy | 7 + .../texmf-dist/doc/asymptote/examples/layers.asy | 44 + .../doc/asymptote/examples/leastsquares.asy | 55 + .../doc/asymptote/examples/leastsquares.dat | 882 + .../texmf-dist/doc/asymptote/examples/legend.asy | 15 + Master/texmf-dist/doc/asymptote/examples/lever.asy | 23 + Master/texmf-dist/doc/asymptote/examples/limit.asy | 28 + .../doc/asymptote/examples/lineargraph.asy | 16 + .../doc/asymptote/examples/lineargraph0.asy | 16 + Master/texmf-dist/doc/asymptote/examples/lines.asy | 10 + .../texmf-dist/doc/asymptote/examples/linetype.asy | 13 + .../texmf-dist/doc/asymptote/examples/lmfit1.asy | 37 + Master/texmf-dist/doc/asymptote/examples/log.asy | 14 + .../doc/asymptote/examples/log2graph.asy | 17 + .../texmf-dist/doc/asymptote/examples/logdown.asy | 13 + .../texmf-dist/doc/asymptote/examples/loggraph.asy | 18 + .../texmf-dist/doc/asymptote/examples/loggrid.asy | 13 + .../texmf-dist/doc/asymptote/examples/logimage.asy | 22 + Master/texmf-dist/doc/asymptote/examples/logo.asy | 28 + Master/texmf-dist/doc/asymptote/examples/logo3.asy | 41 + .../texmf-dist/doc/asymptote/examples/logticks.asy | 11 + .../texmf-dist/doc/asymptote/examples/lowint.asy | 11 + .../texmf-dist/doc/asymptote/examples/lowupint.asy | 31 + .../texmf-dist/doc/asymptote/examples/magnetic.asy | 18 + .../texmf-dist/doc/asymptote/examples/makepen.asy | 9 + .../texmf-dist/doc/asymptote/examples/markers1.asy | 102 + .../texmf-dist/doc/asymptote/examples/markers2.asy | 34 + .../doc/asymptote/examples/markregular.asy | 26 + .../doc/asymptote/examples/mergeExample.asy | 77 + .../doc/asymptote/examples/mexicanhat.asy | 22 + .../doc/asymptote/examples/monthaxis.asy | 17 + .../texmf-dist/doc/asymptote/examples/mosaic.asy | 165 + .../texmf-dist/doc/asymptote/examples/mosquito.asy | 82 + .../doc/asymptote/examples/multicontour.asy | 19 + .../doc/asymptote/examples/near_earth.asy | 56 + .../texmf-dist/doc/asymptote/examples/odetest.asy | 43 + .../doc/asymptote/examples/onecontour.asy | 5 + .../texmf-dist/doc/asymptote/examples/oneoverx.asy | 17 + .../doc/asymptote/examples/orthocenter.asy | 40 + .../doc/asymptote/examples/p-orbital.asy | 31 + .../doc/asymptote/examples/parametricelevation.asy | 10 + .../doc/asymptote/examples/parametricgraph.asy | 16 + .../doc/asymptote/examples/parametricsurface.asy | 23 + .../doc/asymptote/examples/partialsurface.asy | 29 + .../doc/asymptote/examples/partitionExample.asy | 27 + .../asymptote/examples/pathintersectsurface.asy | 20 + Master/texmf-dist/doc/asymptote/examples/pdb.asy | 172 + .../doc/asymptote/examples/penfunctionimage.asy | 27 + .../texmf-dist/doc/asymptote/examples/penimage.asy | 14 + Master/texmf-dist/doc/asymptote/examples/phase.asy | 18 + .../texmf-dist/doc/asymptote/examples/piicon.eps | 1135 ++ .../doc/asymptote/examples/pipeintersection.asy | 13 + Master/texmf-dist/doc/asymptote/examples/pipes.asy | 140 + Master/texmf-dist/doc/asymptote/examples/pixel.pdf | Bin 0 -> 2771 bytes .../doc/asymptote/examples/planeproject.asy | 18 + .../texmf-dist/doc/asymptote/examples/planes.asy | 19 + .../doc/asymptote/examples/polararea.asy | 38 + .../doc/asymptote/examples/polarcircle.asy | 30 + .../doc/asymptote/examples/polardatagraph.asy | 17 + .../texmf-dist/doc/asymptote/examples/poster.asy | 33 + .../texmf-dist/doc/asymptote/examples/progrid.asy | 1 + .../doc/asymptote/examples/projectelevation.asy | 17 + .../doc/asymptote/examples/projectrevolution.asy | 17 + .../doc/asymptote/examples/pseudosphere.asy | 33 + .../doc/asymptote/examples/quartercircle.asy | 2 + Master/texmf-dist/doc/asymptote/examples/quilt.asy | 44 + .../texmf-dist/doc/asymptote/examples/rainbow.asy | 12 + .../doc/asymptote/examples/randompath3.asy | 4 + Master/texmf-dist/doc/asymptote/examples/ring.asy | 4 + Master/texmf-dist/doc/asymptote/examples/roll.asy | 10 + .../doc/asymptote/examples/roundpath.asy | 32 + .../texmf-dist/doc/asymptote/examples/sacone.asy | 23 + .../texmf-dist/doc/asymptote/examples/sacone3D.asy | 14 + .../doc/asymptote/examples/sacylinder.asy | 26 + .../doc/asymptote/examples/sacylinder3D.asy | 14 + .../texmf-dist/doc/asymptote/examples/saddle.asy | 7 + .../doc/asymptote/examples/scaledgraph.asy | 15 + .../doc/asymptote/examples/secondaryaxis.asy | 32 + .../doc/asymptote/examples/secondaryaxis.csv | 1003 ++ Master/texmf-dist/doc/asymptote/examples/shade.asy | 4 + .../doc/asymptote/examples/shadedtiling.asy | 12 + .../doc/asymptote/examples/shadestroke.asy | 5 + .../doc/asymptote/examples/shellmethod.asy | 41 + .../doc/asymptote/examples/shellsqrtx01.asy | 36 + Master/texmf-dist/doc/asymptote/examples/sin1x.asy | 16 + Master/texmf-dist/doc/asymptote/examples/sin3.asy | 22 + Master/texmf-dist/doc/asymptote/examples/sinc.asy | 24 + .../texmf-dist/doc/asymptote/examples/sinxlex.asy | 24 + .../doc/asymptote/examples/slidedemo.asy | 118 + .../doc/asymptote/examples/slopefield1.asy | 9 + .../doc/asymptote/examples/smoothelevation.asy | 26 + .../doc/asymptote/examples/soccerball.asy | 87 + .../texmf-dist/doc/asymptote/examples/spectrum.asy | 79 + .../texmf-dist/doc/asymptote/examples/sphere.asy | 6 + .../doc/asymptote/examples/spheresilhouette.asy | 9 + .../doc/asymptote/examples/sphereskeleton.asy | 9 + .../doc/asymptote/examples/sphericalharmonic.asy | 14 + .../texmf-dist/doc/asymptote/examples/spiral.asy | 12 + .../texmf-dist/doc/asymptote/examples/spiral3.asy | 20 + .../texmf-dist/doc/asymptote/examples/spline.asy | 25 + .../doc/asymptote/examples/splitpatch.asy | 87 + .../texmf-dist/doc/asymptote/examples/spring.asy | 33 + .../texmf-dist/doc/asymptote/examples/spring0.asy | 4 + .../texmf-dist/doc/asymptote/examples/spring2.asy | 4 + .../texmf-dist/doc/asymptote/examples/sqrtx01.asy | 25 + .../doc/asymptote/examples/sqrtx01y1.asy | 25 + .../texmf-dist/doc/asymptote/examples/square.asy | 2 + Master/texmf-dist/doc/asymptote/examples/star.asy | 13 + .../doc/asymptote/examples/stereoscopic.asy | 11 + .../texmf-dist/doc/asymptote/examples/stroke3.asy | 4 + .../doc/asymptote/examples/strokepath.asy | 17 + .../doc/asymptote/examples/strokeshade.asy | 4 + .../doc/asymptote/examples/subpictures.asy | 20 + .../doc/asymptote/examples/superpath.asy | 5 + Master/texmf-dist/doc/asymptote/examples/tanh.asy | 13 + .../texmf-dist/doc/asymptote/examples/teapot.asy | 172 + .../texmf-dist/doc/asymptote/examples/tensor.asy | 9 + .../texmf-dist/doc/asymptote/examples/textpath.asy | 10 + .../doc/asymptote/examples/thermodynamics.asy | 131 + .../doc/asymptote/examples/threeviews.asy | 26 + Master/texmf-dist/doc/asymptote/examples/tile.asy | 13 + Master/texmf-dist/doc/asymptote/examples/torus.asy | 20 + .../doc/asymptote/examples/transparency.asy | 10 + .../texmf-dist/doc/asymptote/examples/treetest.asy | 22 + .../doc/asymptote/examples/trefoilknot.asy | 23 + .../texmf-dist/doc/asymptote/examples/triads.asy | 52 + .../texmf-dist/doc/asymptote/examples/triangle.asy | 12 + .../doc/asymptote/examples/triangulate.asy | 19 + .../doc/asymptote/examples/triceratops.asy | 9 + .../texmf-dist/doc/asymptote/examples/trumpet.asy | 12 + .../asymptote/examples/truncatedIcosahedron.asy | 68 + Master/texmf-dist/doc/asymptote/examples/tvgen.asy | 1314 ++ .../doc/asymptote/examples/twistedtubes.asy | 30 + .../doc/asymptote/examples/unitcircle.asy | 14 + .../doc/asymptote/examples/unitcircle3.asy | 9 + .../doc/asymptote/examples/unitoctant.asy | 35 + Master/texmf-dist/doc/asymptote/examples/upint.asy | 13 + .../doc/asymptote/examples/vectorfield.asy | 9 + .../doc/asymptote/examples/vectorfield3.asy | 26 + .../doc/asymptote/examples/vectorfieldsphere.asy | 17 + Master/texmf-dist/doc/asymptote/examples/venn.asy | 37 + Master/texmf-dist/doc/asymptote/examples/venn3.asy | 50 + .../doc/asymptote/examples/vertexshading.asy | 9 + .../texmf-dist/doc/asymptote/examples/washer.asy | 14 + .../doc/asymptote/examples/washermethod.asy | 43 + Master/texmf-dist/doc/asymptote/examples/wedge.asy | 23 + .../texmf-dist/doc/asymptote/examples/westnile.asy | 64 + .../texmf-dist/doc/asymptote/examples/westnile.csv | 402 + .../texmf-dist/doc/asymptote/examples/workcone.asy | 42 + .../doc/asymptote/examples/worksheet.asy | 49 + .../texmf-dist/doc/asymptote/examples/worldmap.asy | 87 + .../texmf-dist/doc/asymptote/examples/xsin1x.asy | 24 + .../texmf-dist/doc/asymptote/examples/xstitch.asy | 170 + .../texmf-dist/doc/asymptote/examples/xxsq01.asy | 30 + .../doc/asymptote/examples/xxsq01x-1.asy | 35 + .../texmf-dist/doc/asymptote/examples/xxsq01y.asy | 34 + .../texmf-dist/doc/asymptote/examples/yingyang.asy | 7 + Master/texmf-dist/doc/bg5conv/bg5conv.pdf | Bin 0 -> 32160 bytes Master/texmf-dist/doc/bibtex8/00readme.txt | 903 + Master/texmf-dist/doc/bibtex8/HISTORY | 65 + Master/texmf-dist/doc/bibtex8/csfile.txt | 318 + Master/texmf-dist/doc/bibtex8/file_id.diz | 13 + Master/texmf-dist/doc/bibtexu/00readme.txt | 903 + Master/texmf-dist/doc/bibtexu/HISTORY | 65 + Master/texmf-dist/doc/bibtexu/csfile.txt | 318 + Master/texmf-dist/doc/bibtexu/file_id.diz | 13 + Master/texmf-dist/doc/cef5conv/cef5conv.pdf | Bin 0 -> 42568 bytes Master/texmf-dist/doc/cefconv/cefconv.pdf | Bin 0 -> 41135 bytes Master/texmf-dist/doc/cefsconv/cefsconv.pdf | Bin 0 -> 42601 bytes Master/texmf-dist/doc/chktex/ChkTeX.pdf | Bin 0 -> 210637 bytes Master/texmf-dist/doc/dvipdfm/Makefile | 2 + Master/texmf-dist/doc/dvipdfm/dvipdfm.pdf | 3222 ++++ Master/texmf-dist/doc/dvipdfm/dvipdfm.tex | 1304 ++ Master/texmf-dist/doc/dvipdfm/mwicks.bb | 5 + Master/texmf-dist/doc/dvipdfm/mwicks.jpeg | Bin 0 -> 5778 bytes Master/texmf-dist/doc/dvipdfm/sample.tex | 87 + Master/texmf-dist/doc/dvipdfm/something.bb | 5 + Master/texmf-dist/doc/dvipdfm/something.eps | 172 + Master/texmf-dist/doc/dvipdfm/something.fig | 19 + Master/texmf-dist/doc/dvipdfm/something.pdf | 159 + Master/texmf-dist/doc/dvipdfm/transistor.bb | 5 + Master/texmf-dist/doc/dvipdfm/transistor.eps | 316 + Master/texmf-dist/doc/dvipdfm/transistor.fig | 94 + Master/texmf-dist/doc/dvipdfm/transistor.pdf | 473 + .../texmf-dist/doc/dvipdfmx/dvipdfmx-special.pdf | Bin 0 -> 179950 bytes .../texmf-dist/doc/dvipdfmx/dvipdfmx-special.tex | 608 + Master/texmf-dist/doc/dvipng/dvipng.html | 1284 ++ Master/texmf-dist/doc/dvipng/dvipng.pdf | Bin 0 -> 224832 bytes Master/texmf-dist/doc/dvips/dvips.html | 4936 +++++ Master/texmf-dist/doc/dvips/dvips.pdf | Bin 0 -> 408067 bytes Master/texmf-dist/doc/extconv/extconv.pdf | Bin 0 -> 31959 bytes Master/texmf-dist/doc/generic/elhyphen/README | 99 + .../texmf-dist/doc/generic/elhyphen/anc-test.ltx | 748 + .../texmf-dist/doc/generic/elhyphen/anc-test.pdf | Bin 0 -> 416327 bytes Master/texmf-dist/doc/generic/elhyphen/ancient.pdf | Bin 0 -> 415411 bytes .../texmf-dist/doc/generic/elhyphen/compound.ltx | 1554 ++ .../texmf-dist/doc/generic/elhyphen/compound.pdf | Bin 0 -> 540753 bytes .../texmf-dist/doc/generic/elhyphen/copyrite.txt | 48 + Master/texmf-dist/doc/generic/elhyphen/modern.pdf | Bin 0 -> 429157 bytes Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf | Bin 0 -> 60686 bytes Master/texmf-dist/doc/generic/huhyphen/hyph_hu.dic | 17873 +++++++++++++++++++ .../doc/generic/huhyphen/searchforerrors.rb | 105 + .../doc/generic/huhyphen/testhyphenation.rb | 86 + Master/texmf-dist/doc/gzip/gzip.html | 802 + Master/texmf-dist/doc/gzip/gzip.pdf | Bin 0 -> 119215 bytes Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf | Bin 0 -> 216869 bytes Master/texmf-dist/doc/info/asy-faq.info | 1671 ++ Master/texmf-dist/doc/info/asymptote.info | 9963 +++++++++++ Master/texmf-dist/doc/info/dir | 69 + Master/texmf-dist/doc/info/dvipng.info | 1211 ++ Master/texmf-dist/doc/info/dvips.info | 4802 +++++ Master/texmf-dist/doc/info/eplain.info | 8187 +++++++++ Master/texmf-dist/doc/info/epspdf.info | Bin 0 -> 22867 bytes Master/texmf-dist/doc/info/fontname.info | 16120 +++++++++++++++++ Master/texmf-dist/doc/info/kpathsea.info | 4763 +++++ Master/texmf-dist/doc/info/latex2e-es.info | 8019 +++++++++ Master/texmf-dist/doc/info/latex2e.info | 7503 ++++++++ Master/texmf-dist/doc/info/latex2man.info | 1055 ++ Master/texmf-dist/doc/info/mf2pt1.info | 714 + Master/texmf-dist/doc/info/tds.info | 1714 ++ Master/texmf-dist/doc/info/texdraw.info | 2429 +++ Master/texmf-dist/doc/info/web2c.info | 4515 +++++ Master/texmf-dist/doc/kpathsea/kpathsea.html | 4995 ++++++ Master/texmf-dist/doc/kpathsea/kpathsea.pdf | Bin 0 -> 443334 bytes Master/texmf-dist/doc/man/Makefile | 24 + Master/texmf-dist/doc/man/man1/Makefile | 96 + Master/texmf-dist/doc/man/man1/a2ping.1 | 380 + Master/texmf-dist/doc/man/man1/a2ping.man1.pdf | Bin 0 -> 14792 bytes Master/texmf-dist/doc/man/man1/afm2afm.1 | 199 + Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf | Bin 0 -> 5402 bytes Master/texmf-dist/doc/man/man1/afm2pl.1 | 464 + Master/texmf-dist/doc/man/man1/afm2pl.man1.pdf | Bin 0 -> 18748 bytes Master/texmf-dist/doc/man/man1/afm2tfm.1 | 25 + Master/texmf-dist/doc/man/man1/afm2tfm.man1.pdf | Bin 0 -> 3991 bytes Master/texmf-dist/doc/man/man1/aleph.1 | 240 + Master/texmf-dist/doc/man/man1/aleph.man1.pdf | Bin 0 -> 10855 bytes Master/texmf-dist/doc/man/man1/allcm.1 | 28 + Master/texmf-dist/doc/man/man1/allcm.man1.pdf | Bin 0 -> 3680 bytes Master/texmf-dist/doc/man/man1/allec.1 | 28 + Master/texmf-dist/doc/man/man1/allec.man1.pdf | Bin 0 -> 3755 bytes Master/texmf-dist/doc/man/man1/allneeded.1 | 30 + Master/texmf-dist/doc/man/man1/allneeded.man1.pdf | Bin 0 -> 3863 bytes Master/texmf-dist/doc/man/man1/amstex.1 | 63 + Master/texmf-dist/doc/man/man1/amstex.man1.pdf | Bin 0 -> 4762 bytes Master/texmf-dist/doc/man/man1/arlatex.1 | 279 + Master/texmf-dist/doc/man/man1/arlatex.man1.pdf | Bin 0 -> 10147 bytes Master/texmf-dist/doc/man/man1/asy.1 | 294 + Master/texmf-dist/doc/man/man1/asy.man1.pdf | Bin 0 -> 11391 bytes Master/texmf-dist/doc/man/man1/autoinst.1 | 669 + Master/texmf-dist/doc/man/man1/autoinst.man1.pdf | Bin 0 -> 29639 bytes Master/texmf-dist/doc/man/man1/bbox.1 | 71 + Master/texmf-dist/doc/man/man1/bbox.man1.pdf | Bin 0 -> 4989 bytes Master/texmf-dist/doc/man/man1/bg5conv.1 | 110 + Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf | Bin 0 -> 4293 bytes Master/texmf-dist/doc/man/man1/bibtex.1 | 136 + Master/texmf-dist/doc/man/man1/bibtex.man1.pdf | Bin 0 -> 7800 bytes Master/texmf-dist/doc/man/man1/bundledoc.1 | 516 + Master/texmf-dist/doc/man/man1/bundledoc.man1.pdf | Bin 0 -> 23377 bytes Master/texmf-dist/doc/man/man1/cef5conv.1 | 127 + Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf | Bin 0 -> 4729 bytes Master/texmf-dist/doc/man/man1/cefconv.1 | 117 + Master/texmf-dist/doc/man/man1/cefconv.man1.pdf | Bin 0 -> 4550 bytes Master/texmf-dist/doc/man/man1/cefsconv.1 | 127 + Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf | Bin 0 -> 4700 bytes Master/texmf-dist/doc/man/man1/cfftot1.1 | 87 + Master/texmf-dist/doc/man/man1/cfftot1.man1.pdf | Bin 0 -> 4944 bytes Master/texmf-dist/doc/man/man1/chktex.1 | 139 + Master/texmf-dist/doc/man/man1/chktex.man1.pdf | Bin 0 -> 7726 bytes Master/texmf-dist/doc/man/man1/chkweb.1 | 132 + Master/texmf-dist/doc/man/man1/chkweb.man1.pdf | Bin 0 -> 6903 bytes Master/texmf-dist/doc/man/man1/context.1 | 140 + Master/texmf-dist/doc/man/man1/context.man1.pdf | Bin 0 -> 8837 bytes Master/texmf-dist/doc/man/man1/ctangle.1 | 1 + Master/texmf-dist/doc/man/man1/ctangle.man1.pdf | Bin 0 -> 8205 bytes Master/texmf-dist/doc/man/man1/ctanify.1 | 376 + Master/texmf-dist/doc/man/man1/ctanify.man1.pdf | Bin 0 -> 15804 bytes Master/texmf-dist/doc/man/man1/ctie.1 | 59 + Master/texmf-dist/doc/man/man1/ctie.man1.pdf | Bin 0 -> 4782 bytes Master/texmf-dist/doc/man/man1/ctxtools.1 | 89 + Master/texmf-dist/doc/man/man1/ctxtools.man1.pdf | Bin 0 -> 6253 bytes Master/texmf-dist/doc/man/man1/cweave.1 | 1 + Master/texmf-dist/doc/man/man1/cweave.man1.pdf | Bin 0 -> 8205 bytes Master/texmf-dist/doc/man/man1/cweb.1 | 152 + Master/texmf-dist/doc/man/man1/cweb.man1.pdf | Bin 0 -> 8205 bytes Master/texmf-dist/doc/man/man1/detex.1 | 126 + Master/texmf-dist/doc/man/man1/detex.man1.pdf | Bin 0 -> 8213 bytes Master/texmf-dist/doc/man/man1/deweb.1 | 116 + Master/texmf-dist/doc/man/man1/deweb.man1.pdf | Bin 0 -> 7368 bytes Master/texmf-dist/doc/man/man1/disdvi.1 | 27 + Master/texmf-dist/doc/man/man1/disdvi.man1.pdf | Bin 0 -> 3809 bytes Master/texmf-dist/doc/man/man1/dosepsbin.1 | 275 + Master/texmf-dist/doc/man/man1/dosepsbin.man1.pdf | Bin 0 -> 7051 bytes Master/texmf-dist/doc/man/man1/dt2dv.1 | 160 + Master/texmf-dist/doc/man/man1/dt2dv.man1.pdf | Bin 0 -> 6495 bytes Master/texmf-dist/doc/man/man1/dv2dt.1 | 719 + Master/texmf-dist/doc/man/man1/dv2dt.man1.pdf | Bin 0 -> 15131 bytes Master/texmf-dist/doc/man/man1/dvi2fax.1 | 22 + Master/texmf-dist/doc/man/man1/dvi2fax.man1.pdf | Bin 0 -> 3762 bytes Master/texmf-dist/doc/man/man1/dvi2tty.1 | 172 + Master/texmf-dist/doc/man/man1/dvi2tty.man1.pdf | Bin 0 -> 9786 bytes Master/texmf-dist/doc/man/man1/dvibook.1 | 55 + Master/texmf-dist/doc/man/man1/dvibook.man1.pdf | Bin 0 -> 4578 bytes Master/texmf-dist/doc/man/man1/dviconcat.1 | 48 + Master/texmf-dist/doc/man/man1/dviconcat.man1.pdf | Bin 0 -> 4299 bytes Master/texmf-dist/doc/man/man1/dvicopy.1 | 52 + Master/texmf-dist/doc/man/man1/dvicopy.man1.pdf | Bin 0 -> 4499 bytes Master/texmf-dist/doc/man/man1/dvidvi.1 | 128 + Master/texmf-dist/doc/man/man1/dvidvi.man1.pdf | Bin 0 -> 7849 bytes Master/texmf-dist/doc/man/man1/dvigif.1 | 1 + Master/texmf-dist/doc/man/man1/dvigif.man1.pdf | Bin 0 -> 24375 bytes Master/texmf-dist/doc/man/man1/dvihp.1 | 49 + Master/texmf-dist/doc/man/man1/dvihp.man1.pdf | Bin 0 -> 4342 bytes Master/texmf-dist/doc/man/man1/dvilj.1 | 688 + Master/texmf-dist/doc/man/man1/dvilj.man1.pdf | Bin 0 -> 28922 bytes Master/texmf-dist/doc/man/man1/dvilj2p.1 | 1 + Master/texmf-dist/doc/man/man1/dvilj2p.man1.pdf | Bin 0 -> 28922 bytes Master/texmf-dist/doc/man/man1/dvilj4.1 | 1 + Master/texmf-dist/doc/man/man1/dvilj4.man1.pdf | Bin 0 -> 28922 bytes Master/texmf-dist/doc/man/man1/dvilj4l.1 | 1 + Master/texmf-dist/doc/man/man1/dvilj4l.man1.pdf | Bin 0 -> 28922 bytes Master/texmf-dist/doc/man/man1/dvilj6.1 | 1 + Master/texmf-dist/doc/man/man1/dvilj6.man1.pdf | Bin 0 -> 28922 bytes Master/texmf-dist/doc/man/man1/dvipdfm.1 | 358 + Master/texmf-dist/doc/man/man1/dvipdfm.man1.pdf | Bin 0 -> 12395 bytes Master/texmf-dist/doc/man/man1/dvipdft.1 | 40 + Master/texmf-dist/doc/man/man1/dvipdft.man1.pdf | Bin 0 -> 3954 bytes Master/texmf-dist/doc/man/man1/dvipng.1 | 521 + Master/texmf-dist/doc/man/man1/dvipng.man1.pdf | Bin 0 -> 24375 bytes Master/texmf-dist/doc/man/man1/dvipos.1 | 153 + Master/texmf-dist/doc/man/man1/dvipos.man1.pdf | Bin 0 -> 7869 bytes Master/texmf-dist/doc/man/man1/dvips.1 | 531 + Master/texmf-dist/doc/man/man1/dvips.man1.pdf | Bin 0 -> 23185 bytes Master/texmf-dist/doc/man/man1/dvired.1 | 63 + Master/texmf-dist/doc/man/man1/dvired.man1.pdf | Bin 0 -> 4533 bytes Master/texmf-dist/doc/man/man1/dviselect.1 | 131 + Master/texmf-dist/doc/man/man1/dviselect.man1.pdf | Bin 0 -> 8698 bytes Master/texmf-dist/doc/man/man1/dvisvgm.1 | 961 + Master/texmf-dist/doc/man/man1/dvisvgm.man1.pdf | Bin 0 -> 34953 bytes Master/texmf-dist/doc/man/man1/dvitodvi.1 | 139 + Master/texmf-dist/doc/man/man1/dvitodvi.man1.pdf | Bin 0 -> 6903 bytes Master/texmf-dist/doc/man/man1/dvitomp.1 | 26 + Master/texmf-dist/doc/man/man1/dvitomp.man1.pdf | Bin 0 -> 3789 bytes Master/texmf-dist/doc/man/man1/dvitype.1 | 102 + Master/texmf-dist/doc/man/man1/dvitype.man1.pdf | Bin 0 -> 5539 bytes Master/texmf-dist/doc/man/man1/e2pall.1 | 55 + Master/texmf-dist/doc/man/man1/e2pall.man1.pdf | Bin 0 -> 4468 bytes Master/texmf-dist/doc/man/man1/ebb.1 | 1 + Master/texmf-dist/doc/man/man1/ebb.man1.pdf | Bin 0 -> 5584 bytes Master/texmf-dist/doc/man/man1/eplain.1 | 87 + Master/texmf-dist/doc/man/man1/eplain.man1.pdf | Bin 0 -> 4393 bytes Master/texmf-dist/doc/man/man1/epsffit.1 | 51 + Master/texmf-dist/doc/man/man1/epsffit.man1.pdf | Bin 0 -> 4561 bytes Master/texmf-dist/doc/man/man1/epstopdf.1 | 88 + Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf | Bin 0 -> 6982 bytes Master/texmf-dist/doc/man/man1/etex.1 | 387 + Master/texmf-dist/doc/man/man1/etex.man1.pdf | Bin 0 -> 15248 bytes Master/texmf-dist/doc/man/man1/extconv.1 | 111 + Master/texmf-dist/doc/man/man1/extconv.man1.pdf | Bin 0 -> 4263 bytes Master/texmf-dist/doc/man/man1/extractbb.1 | 99 + Master/texmf-dist/doc/man/man1/extractbb.man1.pdf | Bin 0 -> 5584 bytes Master/texmf-dist/doc/man/man1/extractres.1 | 47 + Master/texmf-dist/doc/man/man1/extractres.man1.pdf | Bin 0 -> 4443 bytes Master/texmf-dist/doc/man/man1/findhyph.1 | 247 + Master/texmf-dist/doc/man/man1/findhyph.man1.pdf | Bin 0 -> 7591 bytes Master/texmf-dist/doc/man/man1/fixdlsrps.1 | 24 + Master/texmf-dist/doc/man/man1/fixdlsrps.man1.pdf | Bin 0 -> 3902 bytes Master/texmf-dist/doc/man/man1/fixfmps.1 | 24 + Master/texmf-dist/doc/man/man1/fixfmps.man1.pdf | Bin 0 -> 3865 bytes Master/texmf-dist/doc/man/man1/fixpsditps.1 | 24 + Master/texmf-dist/doc/man/man1/fixpsditps.man1.pdf | Bin 0 -> 3885 bytes Master/texmf-dist/doc/man/man1/fixpspps.1 | 24 + Master/texmf-dist/doc/man/man1/fixpspps.man1.pdf | Bin 0 -> 3813 bytes Master/texmf-dist/doc/man/man1/fixscribeps.1 | 24 + .../texmf-dist/doc/man/man1/fixscribeps.man1.pdf | Bin 0 -> 3837 bytes Master/texmf-dist/doc/man/man1/fixtpps.1 | 24 + Master/texmf-dist/doc/man/man1/fixtpps.man1.pdf | Bin 0 -> 3906 bytes Master/texmf-dist/doc/man/man1/fixwfwps.1 | 24 + Master/texmf-dist/doc/man/man1/fixwfwps.man1.pdf | Bin 0 -> 3924 bytes Master/texmf-dist/doc/man/man1/fixwpps.1 | 24 + Master/texmf-dist/doc/man/man1/fixwpps.man1.pdf | Bin 0 -> 3884 bytes Master/texmf-dist/doc/man/man1/fixwwps.1 | 24 + Master/texmf-dist/doc/man/man1/fixwwps.man1.pdf | Bin 0 -> 3869 bytes Master/texmf-dist/doc/man/man1/fmtutil-sys.1 | 1 + .../texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf | Bin 0 -> 5959 bytes Master/texmf-dist/doc/man/man1/fmtutil.1 | 113 + Master/texmf-dist/doc/man/man1/fmtutil.man1.pdf | Bin 0 -> 5959 bytes Master/texmf-dist/doc/man/man1/fontinst.1 | 45 + Master/texmf-dist/doc/man/man1/fontinst.man1.pdf | Bin 0 -> 4359 bytes Master/texmf-dist/doc/man/man1/getafm.1 | 29 + Master/texmf-dist/doc/man/man1/getafm.man1.pdf | Bin 0 -> 3955 bytes Master/texmf-dist/doc/man/man1/gftodvi.1 | 160 + Master/texmf-dist/doc/man/man1/gftodvi.man1.pdf | Bin 0 -> 8049 bytes Master/texmf-dist/doc/man/man1/gftopk.1 | 99 + Master/texmf-dist/doc/man/man1/gftopk.man1.pdf | Bin 0 -> 5429 bytes Master/texmf-dist/doc/man/man1/gftype.1 | 91 + Master/texmf-dist/doc/man/man1/gftype.man1.pdf | Bin 0 -> 5089 bytes Master/texmf-dist/doc/man/man1/gsftopk.1 | 301 + Master/texmf-dist/doc/man/man1/gsftopk.man1.pdf | Bin 0 -> 11687 bytes Master/texmf-dist/doc/man/man1/hbf2gf.1 | 718 + Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf | Bin 0 -> 20486 bytes Master/texmf-dist/doc/man/man1/includeres.1 | 40 + Master/texmf-dist/doc/man/man1/includeres.man1.pdf | Bin 0 -> 4142 bytes Master/texmf-dist/doc/man/man1/install-tl.1 | 434 + Master/texmf-dist/doc/man/man1/install-tl.man1.pdf | Bin 0 -> 18134 bytes Master/texmf-dist/doc/man/man1/kpseaccess.1 | 66 + Master/texmf-dist/doc/man/man1/kpseaccess.man1.pdf | Bin 0 -> 4135 bytes Master/texmf-dist/doc/man/man1/kpsepath.1 | 1 + Master/texmf-dist/doc/man/man1/kpsepath.man1.pdf | Bin 0 -> 6074 bytes Master/texmf-dist/doc/man/man1/kpsereadlink.1 | 30 + .../texmf-dist/doc/man/man1/kpsereadlink.man1.pdf | 116 + Master/texmf-dist/doc/man/man1/kpsestat.1 | 51 + Master/texmf-dist/doc/man/man1/kpsestat.man1.pdf | 117 + Master/texmf-dist/doc/man/man1/kpsetool.1 | 106 + Master/texmf-dist/doc/man/man1/kpsetool.man1.pdf | Bin 0 -> 6074 bytes Master/texmf-dist/doc/man/man1/kpsewhere.1 | 50 + Master/texmf-dist/doc/man/man1/kpsewhere.man1.pdf | Bin 0 -> 4595 bytes Master/texmf-dist/doc/man/man1/kpsewhich.1 | 144 + Master/texmf-dist/doc/man/man1/kpsewhich.man1.pdf | Bin 0 -> 6179 bytes Master/texmf-dist/doc/man/man1/kpsexpand.1 | 1 + Master/texmf-dist/doc/man/man1/kpsexpand.man1.pdf | Bin 0 -> 6074 bytes Master/texmf-dist/doc/man/man1/lacheck.1 | 110 + Master/texmf-dist/doc/man/man1/lacheck.man1.pdf | Bin 0 -> 7399 bytes Master/texmf-dist/doc/man/man1/lamed.1 | 1 + Master/texmf-dist/doc/man/man1/lamed.man1.pdf | Bin 0 -> 10849 bytes Master/texmf-dist/doc/man/man1/latex.1 | 86 + Master/texmf-dist/doc/man/man1/latex.man1.pdf | Bin 0 -> 5854 bytes Master/texmf-dist/doc/man/man1/latexdiff-vc.1 | 246 + .../texmf-dist/doc/man/man1/latexdiff-vc.man1.pdf | Bin 0 -> 8547 bytes Master/texmf-dist/doc/man/man1/latexdiff.1 | 758 + Master/texmf-dist/doc/man/man1/latexdiff.man1.pdf | Bin 0 -> 34808 bytes Master/texmf-dist/doc/man/man1/latexmk.1 | 2511 +++ Master/texmf-dist/doc/man/man1/latexmk.man1.pdf | Bin 0 -> 134898 bytes Master/texmf-dist/doc/man/man1/latexrevise.1 | 235 + .../texmf-dist/doc/man/man1/latexrevise.man1.pdf | Bin 0 -> 8915 bytes Master/texmf-dist/doc/man/man1/luatex.1 | 251 + Master/texmf-dist/doc/man/man1/luatex.man1.pdf | Bin 0 -> 13635 bytes Master/texmf-dist/doc/man/man1/m-tx.1 | 106 + Master/texmf-dist/doc/man/man1/m-tx.man1.pdf | Bin 0 -> 4432 bytes Master/texmf-dist/doc/man/man1/mag.1 | 68 + Master/texmf-dist/doc/man/man1/mag.man1.pdf | Bin 0 -> 4384 bytes Master/texmf-dist/doc/man/man1/makeindex.1 | 1216 ++ Master/texmf-dist/doc/man/man1/makeindex.man1.pdf | Bin 0 -> 36586 bytes Master/texmf-dist/doc/man/man1/mendex.1 | 496 + Master/texmf-dist/doc/man/man1/mendex.man1.pdf | Bin 0 -> 15480 bytes Master/texmf-dist/doc/man/man1/mf-nowin.1 | 1 + Master/texmf-dist/doc/man/man1/mf-nowin.man1.pdf | Bin 0 -> 18589 bytes Master/texmf-dist/doc/man/man1/mf.1 | 484 + Master/texmf-dist/doc/man/man1/mf.man1.pdf | Bin 0 -> 18770 bytes Master/texmf-dist/doc/man/man1/mft.1 | 134 + Master/texmf-dist/doc/man/man1/mft.man1.pdf | Bin 0 -> 6957 bytes Master/texmf-dist/doc/man/man1/mkindex.1 | 42 + Master/texmf-dist/doc/man/man1/mkindex.man1.pdf | Bin 0 -> 4248 bytes Master/texmf-dist/doc/man/man1/mkjobtexmf.1 | 501 + Master/texmf-dist/doc/man/man1/mkjobtexmf.man1.pdf | Bin 0 -> 14582 bytes Master/texmf-dist/doc/man/man1/mkocp.1 | 48 + Master/texmf-dist/doc/man/man1/mkocp.man1.pdf | Bin 0 -> 4617 bytes Master/texmf-dist/doc/man/man1/mkofm.1 | 31 + Master/texmf-dist/doc/man/man1/mkofm.man1.pdf | 115 + Master/texmf-dist/doc/man/man1/mktexfmt.1 | 1 + Master/texmf-dist/doc/man/man1/mktexfmt.man1.pdf | Bin 0 -> 5959 bytes Master/texmf-dist/doc/man/man1/mktexlsr.1 | 44 + Master/texmf-dist/doc/man/man1/mktexlsr.man1.pdf | Bin 0 -> 3718 bytes Master/texmf-dist/doc/man/man1/mktexmf.1 | 57 + Master/texmf-dist/doc/man/man1/mktexmf.man1.pdf | Bin 0 -> 3911 bytes Master/texmf-dist/doc/man/man1/mktexpk.1 | 115 + Master/texmf-dist/doc/man/man1/mktexpk.man1.pdf | Bin 0 -> 5088 bytes Master/texmf-dist/doc/man/man1/mktextfm.1 | 65 + Master/texmf-dist/doc/man/man1/mktextfm.man1.pdf | Bin 0 -> 4108 bytes Master/texmf-dist/doc/man/man1/mmafm.1 | 178 + Master/texmf-dist/doc/man/man1/mmafm.man1.pdf | Bin 0 -> 8139 bytes Master/texmf-dist/doc/man/man1/mmpfb.1 | 206 + Master/texmf-dist/doc/man/man1/mmpfb.man1.pdf | Bin 0 -> 8277 bytes Master/texmf-dist/doc/man/man1/mpost.1 | 167 + Master/texmf-dist/doc/man/man1/mpost.man1.pdf | Bin 0 -> 8283 bytes Master/texmf-dist/doc/man/man1/mptopdf.1 | 104 + Master/texmf-dist/doc/man/man1/mptopdf.man1.pdf | Bin 0 -> 6294 bytes Master/texmf-dist/doc/man/man1/musixflx.1 | 43 + Master/texmf-dist/doc/man/man1/musixflx.man1.pdf | Bin 0 -> 4148 bytes Master/texmf-dist/doc/man/man1/musixtex.1 | 94 + Master/texmf-dist/doc/man/man1/musixtex.man1.pdf | Bin 0 -> 4381 bytes Master/texmf-dist/doc/man/man1/odvicopy.1 | 1 + Master/texmf-dist/doc/man/man1/odvicopy.man1.pdf | Bin 0 -> 4499 bytes Master/texmf-dist/doc/man/man1/odvips.man1.pdf | Bin 0 -> 23152 bytes Master/texmf-dist/doc/man/man1/odvitype.1 | 1 + Master/texmf-dist/doc/man/man1/odvitype.man1.pdf | Bin 0 -> 5539 bytes Master/texmf-dist/doc/man/man1/ofm2opl.1 | 92 + Master/texmf-dist/doc/man/man1/ofm2opl.man1.pdf | Bin 0 -> 6283 bytes Master/texmf-dist/doc/man/man1/opl2ofm.1 | 75 + Master/texmf-dist/doc/man/man1/opl2ofm.man1.pdf | Bin 0 -> 5219 bytes Master/texmf-dist/doc/man/man1/ot2kpx.1 | 213 + Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf | Bin 0 -> 7543 bytes Master/texmf-dist/doc/man/man1/otangle.1 | 1 + Master/texmf-dist/doc/man/man1/otangle.man1.pdf | Bin 0 -> 8130 bytes Master/texmf-dist/doc/man/man1/otfinfo.1 | 195 + Master/texmf-dist/doc/man/man1/otfinfo.man1.pdf | Bin 0 -> 8372 bytes Master/texmf-dist/doc/man/man1/otftotfm.1 | 1654 ++ Master/texmf-dist/doc/man/man1/otftotfm.man1.pdf | Bin 0 -> 61402 bytes Master/texmf-dist/doc/man/man1/otp2ocp.1 | 40 + Master/texmf-dist/doc/man/man1/otp2ocp.man1.pdf | Bin 0 -> 4369 bytes Master/texmf-dist/doc/man/man1/outocp.1 | 42 + Master/texmf-dist/doc/man/man1/outocp.man1.pdf | Bin 0 -> 4433 bytes Master/texmf-dist/doc/man/man1/ovf2ovp.1 | 89 + Master/texmf-dist/doc/man/man1/ovf2ovp.man1.pdf | Bin 0 -> 6480 bytes Master/texmf-dist/doc/man/man1/ovp2ovf.1 | 79 + Master/texmf-dist/doc/man/man1/ovp2ovf.man1.pdf | Bin 0 -> 6216 bytes Master/texmf-dist/doc/man/man1/patgen.1 | 191 + Master/texmf-dist/doc/man/man1/patgen.man1.pdf | Bin 0 -> 10823 bytes Master/texmf-dist/doc/man/man1/pdf180.1 | 74 + Master/texmf-dist/doc/man/man1/pdf180.man1.pdf | Bin 0 -> 4593 bytes Master/texmf-dist/doc/man/man1/pdf270.1 | 74 + Master/texmf-dist/doc/man/man1/pdf270.man1.pdf | Bin 0 -> 4618 bytes Master/texmf-dist/doc/man/man1/pdf90.1 | 74 + Master/texmf-dist/doc/man/man1/pdf90.man1.pdf | Bin 0 -> 4631 bytes Master/texmf-dist/doc/man/man1/pdfbook.1 | 86 + Master/texmf-dist/doc/man/man1/pdfbook.man1.pdf | Bin 0 -> 5779 bytes Master/texmf-dist/doc/man/man1/pdfclose.1 | 1 + Master/texmf-dist/doc/man/man1/pdfclose.man1.pdf | Bin 0 -> 9508 bytes Master/texmf-dist/doc/man/man1/pdfetex.1 | 37 + Master/texmf-dist/doc/man/man1/pdfetex.man1.pdf | Bin 0 -> 3645 bytes Master/texmf-dist/doc/man/man1/pdfflip.1 | 73 + Master/texmf-dist/doc/man/man1/pdfflip.man1.pdf | Bin 0 -> 4650 bytes Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.1 | 63 + .../doc/man/man1/pdfjam-pocketmod.man1.pdf | Bin 0 -> 4272 bytes Master/texmf-dist/doc/man/man1/pdfjam-slides3up.1 | 88 + .../doc/man/man1/pdfjam-slides3up.man1.pdf | Bin 0 -> 6095 bytes Master/texmf-dist/doc/man/man1/pdfjam-slides6up.1 | 87 + .../doc/man/man1/pdfjam-slides6up.man1.pdf | Bin 0 -> 6080 bytes Master/texmf-dist/doc/man/man1/pdfjam.1 | 58 + Master/texmf-dist/doc/man/man1/pdfjam.man1.pdf | Bin 0 -> 4283 bytes Master/texmf-dist/doc/man/man1/pdfjoin.1 | 66 + Master/texmf-dist/doc/man/man1/pdfjoin.man1.pdf | Bin 0 -> 4347 bytes Master/texmf-dist/doc/man/man1/pdflatex.1 | 1 + Master/texmf-dist/doc/man/man1/pdflatex.man1.pdf | Bin 0 -> 18039 bytes Master/texmf-dist/doc/man/man1/pdfnup.1 | 78 + Master/texmf-dist/doc/man/man1/pdfnup.man1.pdf | Bin 0 -> 4808 bytes Master/texmf-dist/doc/man/man1/pdfopen.1 | 160 + Master/texmf-dist/doc/man/man1/pdfopen.man1.pdf | Bin 0 -> 9506 bytes Master/texmf-dist/doc/man/man1/pdfpun.1 | 68 + Master/texmf-dist/doc/man/man1/pdfpun.man1.pdf | Bin 0 -> 4449 bytes Master/texmf-dist/doc/man/man1/pdftex.1 | 476 + Master/texmf-dist/doc/man/man1/pdftex.man1.pdf | Bin 0 -> 18039 bytes Master/texmf-dist/doc/man/man1/pdftosrc.1 | 237 + Master/texmf-dist/doc/man/man1/pdftosrc.man1.pdf | Bin 0 -> 9189 bytes Master/texmf-dist/doc/man/man1/perltex.1 | 280 + Master/texmf-dist/doc/man/man1/perltex.man1.pdf | Bin 0 -> 10223 bytes Master/texmf-dist/doc/man/man1/pfb2pfa.1 | 19 + Master/texmf-dist/doc/man/man1/pfb2pfa.man1.pdf | Bin 0 -> 3586 bytes Master/texmf-dist/doc/man/man1/pk2bm.1 | 39 + Master/texmf-dist/doc/man/man1/pk2bm.man1.pdf | Bin 0 -> 4167 bytes Master/texmf-dist/doc/man/man1/pkfix-helper.1 | 516 + .../texmf-dist/doc/man/man1/pkfix-helper.man1.pdf | Bin 0 -> 22697 bytes Master/texmf-dist/doc/man/man1/pktogf.1 | 99 + Master/texmf-dist/doc/man/man1/pktogf.man1.pdf | Bin 0 -> 5235 bytes Master/texmf-dist/doc/man/man1/pktype.1 | 76 + Master/texmf-dist/doc/man/man1/pktype.man1.pdf | Bin 0 -> 4744 bytes Master/texmf-dist/doc/man/man1/pltotf.1 | 84 + Master/texmf-dist/doc/man/man1/pltotf.man1.pdf | Bin 0 -> 5081 bytes Master/texmf-dist/doc/man/man1/pmx2pdf.1 | 101 + Master/texmf-dist/doc/man/man1/pmx2pdf.man1.pdf | Bin 0 -> 4398 bytes Master/texmf-dist/doc/man/man1/pmxab.1 | 24 + Master/texmf-dist/doc/man/man1/pmxab.man1.pdf | Bin 0 -> 4118 bytes Master/texmf-dist/doc/man/man1/pooltype.1 | 45 + Master/texmf-dist/doc/man/man1/pooltype.man1.pdf | Bin 0 -> 4021 bytes Master/texmf-dist/doc/man/man1/prepmx.1 | 95 + Master/texmf-dist/doc/man/man1/prepmx.man1.pdf | Bin 0 -> 6269 bytes Master/texmf-dist/doc/man/man1/ps2eps.1 | 366 + Master/texmf-dist/doc/man/man1/ps2eps.man1.pdf | Bin 0 -> 22320 bytes Master/texmf-dist/doc/man/man1/ps2frag.1 | 41 + Master/texmf-dist/doc/man/man1/ps2frag.man1.pdf | Bin 0 -> 4776 bytes Master/texmf-dist/doc/man/man1/ps2pk.1 | 156 + Master/texmf-dist/doc/man/man1/ps2pk.man1.pdf | Bin 0 -> 9801 bytes Master/texmf-dist/doc/man/man1/psbook.1 | 42 + Master/texmf-dist/doc/man/man1/psbook.man1.pdf | Bin 0 -> 4432 bytes Master/texmf-dist/doc/man/man1/pslatex.1 | 44 + Master/texmf-dist/doc/man/man1/pslatex.man1.pdf | Bin 0 -> 4220 bytes Master/texmf-dist/doc/man/man1/psmerge.1 | 36 + Master/texmf-dist/doc/man/man1/psmerge.man1.pdf | Bin 0 -> 4292 bytes Master/texmf-dist/doc/man/man1/psnup.1 | 160 + Master/texmf-dist/doc/man/man1/psnup.man1.pdf | Bin 0 -> 7723 bytes Master/texmf-dist/doc/man/man1/psresize.1 | 81 + Master/texmf-dist/doc/man/man1/psresize.man1.pdf | Bin 0 -> 5021 bytes Master/texmf-dist/doc/man/man1/psselect.1 | 84 + Master/texmf-dist/doc/man/man1/psselect.man1.pdf | Bin 0 -> 5269 bytes Master/texmf-dist/doc/man/man1/pstopdf.1 | 75 + Master/texmf-dist/doc/man/man1/pstopdf.man1.pdf | Bin 0 -> 4945 bytes Master/texmf-dist/doc/man/man1/pstops.1 | 166 + Master/texmf-dist/doc/man/man1/pstops.man1.pdf | Bin 0 -> 7864 bytes Master/texmf-dist/doc/man/man1/purifyeps.1 | 350 + Master/texmf-dist/doc/man/man1/purifyeps.man1.pdf | Bin 0 -> 12629 bytes Master/texmf-dist/doc/man/man1/repstopdf.1 | 1 + Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf | Bin 0 -> 6974 bytes Master/texmf-dist/doc/man/man1/rubibtex.1 | 63 + Master/texmf-dist/doc/man/man1/rubibtex.man1.pdf | Bin 0 -> 4865 bytes Master/texmf-dist/doc/man/man1/rumakeindex.1 | 63 + .../texmf-dist/doc/man/man1/rumakeindex.man1.pdf | Bin 0 -> 4779 bytes Master/texmf-dist/doc/man/man1/scor2prt.1 | 18 + Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf | Bin 0 -> 3746 bytes Master/texmf-dist/doc/man/man1/sjisconv.1 | 110 + Master/texmf-dist/doc/man/man1/sjisconv.man1.pdf | Bin 0 -> 4237 bytes Master/texmf-dist/doc/man/man1/splitindex.1 | 64 + Master/texmf-dist/doc/man/man1/splitindex.man1.pdf | Bin 0 -> 4755 bytes Master/texmf-dist/doc/man/man1/sty2dtx.1 | 340 + Master/texmf-dist/doc/man/man1/sty2dtx.man1.pdf | Bin 0 -> 9162 bytes Master/texmf-dist/doc/man/man1/synctex.1 | 34 + Master/texmf-dist/doc/man/man1/synctex.man1.pdf | Bin 0 -> 4130 bytes Master/texmf-dist/doc/man/man1/t1ascii.1 | 51 + Master/texmf-dist/doc/man/man1/t1ascii.man1.pdf | Bin 0 -> 4374 bytes Master/texmf-dist/doc/man/man1/t1asm.1 | 96 + Master/texmf-dist/doc/man/man1/t1asm.man1.pdf | Bin 0 -> 6394 bytes Master/texmf-dist/doc/man/man1/t1binary.1 | 42 + Master/texmf-dist/doc/man/man1/t1binary.man1.pdf | Bin 0 -> 4129 bytes Master/texmf-dist/doc/man/man1/t1disasm.1 | 96 + Master/texmf-dist/doc/man/man1/t1disasm.man1.pdf | Bin 0 -> 5740 bytes Master/texmf-dist/doc/man/man1/t1dotlessj.1 | 96 + Master/texmf-dist/doc/man/man1/t1dotlessj.man1.pdf | Bin 0 -> 5008 bytes Master/texmf-dist/doc/man/man1/t1lint.1 | 48 + Master/texmf-dist/doc/man/man1/t1lint.man1.pdf | Bin 0 -> 4038 bytes Master/texmf-dist/doc/man/man1/t1mac.1 | 62 + Master/texmf-dist/doc/man/man1/t1mac.man1.pdf | Bin 0 -> 4775 bytes Master/texmf-dist/doc/man/man1/t1rawafm.1 | 59 + Master/texmf-dist/doc/man/man1/t1rawafm.man1.pdf | Bin 0 -> 4386 bytes Master/texmf-dist/doc/man/man1/t1reencode.1 | 205 + Master/texmf-dist/doc/man/man1/t1reencode.man1.pdf | Bin 0 -> 7249 bytes Master/texmf-dist/doc/man/man1/t1testpage.1 | 66 + Master/texmf-dist/doc/man/man1/t1testpage.man1.pdf | Bin 0 -> 4643 bytes Master/texmf-dist/doc/man/man1/t1unmac.1 | 79 + Master/texmf-dist/doc/man/man1/t1unmac.man1.pdf | Bin 0 -> 4980 bytes Master/texmf-dist/doc/man/man1/tangle.1 | 173 + Master/texmf-dist/doc/man/man1/tangle.man1.pdf | Bin 0 -> 8130 bytes Master/texmf-dist/doc/man/man1/tex.1 | 517 + Master/texmf-dist/doc/man/man1/tex.man1.pdf | Bin 0 -> 19813 bytes Master/texmf-dist/doc/man/man1/tex2xindy.1 | 213 + Master/texmf-dist/doc/man/man1/tex2xindy.man1.pdf | Bin 0 -> 6594 bytes Master/texmf-dist/doc/man/man1/texconfig-sys.1 | 1 + .../texmf-dist/doc/man/man1/texconfig-sys.man1.pdf | Bin 0 -> 9787 bytes Master/texmf-dist/doc/man/man1/texconfig.1 | 215 + Master/texmf-dist/doc/man/man1/texconfig.man1.pdf | Bin 0 -> 9787 bytes Master/texmf-dist/doc/man/man1/texdiff.1 | 220 + Master/texmf-dist/doc/man/man1/texdiff.man1.pdf | Bin 0 -> 8218 bytes Master/texmf-dist/doc/man/man1/texdirflatten.1 | 176 + .../texmf-dist/doc/man/man1/texdirflatten.man1.pdf | Bin 0 -> 4842 bytes Master/texmf-dist/doc/man/man1/texdoc.1 | 80 + Master/texmf-dist/doc/man/man1/texdoc.man1.pdf | Bin 0 -> 5996 bytes Master/texmf-dist/doc/man/man1/texdoctk.1 | 217 + Master/texmf-dist/doc/man/man1/texdoctk.man1.pdf | Bin 0 -> 13219 bytes Master/texmf-dist/doc/man/man1/texexec.1 | 602 + Master/texmf-dist/doc/man/man1/texexec.man1.pdf | Bin 0 -> 28831 bytes Master/texmf-dist/doc/man/man1/texhash.1 | 1 + Master/texmf-dist/doc/man/man1/texhash.man1.pdf | Bin 0 -> 3718 bytes Master/texmf-dist/doc/man/man1/texindy.1 | 446 + Master/texmf-dist/doc/man/man1/texindy.man1.pdf | Bin 0 -> 16505 bytes Master/texmf-dist/doc/man/man1/texlinks.1 | 66 + Master/texmf-dist/doc/man/man1/texlinks.man1.pdf | Bin 0 -> 4891 bytes Master/texmf-dist/doc/man/man1/texlua.1 | 1 + Master/texmf-dist/doc/man/man1/texlua.man1.pdf | Bin 0 -> 13635 bytes Master/texmf-dist/doc/man/man1/texluac.1 | 1 + Master/texmf-dist/doc/man/man1/texluac.man1.pdf | Bin 0 -> 13635 bytes Master/texmf-dist/doc/man/man1/texmfstart.1 | 362 + Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf | Bin 0 -> 13752 bytes Master/texmf-dist/doc/man/man1/tftopl.1 | 108 + Master/texmf-dist/doc/man/man1/tftopl.man1.pdf | Bin 0 -> 5921 bytes Master/texmf-dist/doc/man/man1/thumbpdf.1 | 100 + Master/texmf-dist/doc/man/man1/thumbpdf.man1.pdf | Bin 0 -> 6101 bytes Master/texmf-dist/doc/man/man1/tie.1 | 52 + Master/texmf-dist/doc/man/man1/tie.man1.pdf | Bin 0 -> 4493 bytes Master/texmf-dist/doc/man/man1/tlmgr.1 | 1655 ++ Master/texmf-dist/doc/man/man1/tlmgr.man1.pdf | Bin 0 -> 74573 bytes Master/texmf-dist/doc/man/man1/tpic2pdftex.1 | 73 + .../texmf-dist/doc/man/man1/tpic2pdftex.man1.pdf | Bin 0 -> 4340 bytes Master/texmf-dist/doc/man/man1/ttf2afm.1 | 75 + Master/texmf-dist/doc/man/man1/ttf2afm.man1.pdf | Bin 0 -> 4662 bytes Master/texmf-dist/doc/man/man1/ttf2pk.1 | 311 + Master/texmf-dist/doc/man/man1/ttf2pk.man1.pdf | Bin 0 -> 10551 bytes Master/texmf-dist/doc/man/man1/ttf2tfm.1 | 1189 ++ Master/texmf-dist/doc/man/man1/ttf2tfm.man1.pdf | Bin 0 -> 34764 bytes Master/texmf-dist/doc/man/man1/ttfdump.1 | 143 + Master/texmf-dist/doc/man/man1/ttfdump.man1.pdf | Bin 0 -> 6288 bytes Master/texmf-dist/doc/man/man1/ttftotype42.1 | 78 + .../texmf-dist/doc/man/man1/ttftotype42.man1.pdf | Bin 0 -> 4776 bytes Master/texmf-dist/doc/man/man1/updmap-sys.1 | 1 + Master/texmf-dist/doc/man/man1/updmap-sys.man1.pdf | Bin 0 -> 16926 bytes Master/texmf-dist/doc/man/man1/updmap.1 | 360 + Master/texmf-dist/doc/man/man1/updmap.man1.pdf | Bin 0 -> 16926 bytes Master/texmf-dist/doc/man/man1/vftovp.1 | 93 + Master/texmf-dist/doc/man/man1/vftovp.man1.pdf | Bin 0 -> 5378 bytes Master/texmf-dist/doc/man/man1/vlna.1 | 163 + Master/texmf-dist/doc/man/man1/vlna.man1.pdf | Bin 0 -> 10985 bytes Master/texmf-dist/doc/man/man1/vptovf.1 | 66 + Master/texmf-dist/doc/man/man1/vptovf.man1.pdf | Bin 0 -> 4734 bytes Master/texmf-dist/doc/man/man1/weave.1 | 79 + Master/texmf-dist/doc/man/man1/weave.man1.pdf | Bin 0 -> 5194 bytes Master/texmf-dist/doc/man/man1/xasy.1 | 27 + Master/texmf-dist/doc/man/man1/xasy.man1.pdf | Bin 0 -> 3859 bytes Master/texmf-dist/doc/man/man1/xdvi.1 | 4075 +++++ Master/texmf-dist/doc/man/man1/xdvi.man1.pdf | Bin 0 -> 132437 bytes Master/texmf-dist/doc/man/man1/xindy.1 | 422 + Master/texmf-dist/doc/man/man1/xindy.man1.pdf | Bin 0 -> 16190 bytes Master/texmf-dist/doc/man/man5/Makefile | 17 + Master/texmf-dist/doc/man/man5/fmtutil.cnf.5 | 77 + .../texmf-dist/doc/man/man5/fmtutil.cnf.man5.pdf | Bin 0 -> 6397 bytes Master/texmf-dist/doc/man/man5/synctex.5 | 319 + Master/texmf-dist/doc/man/man5/synctex.man5.pdf | Bin 0 -> 8938 bytes Master/texmf-dist/doc/man/man5/updmap.cfg.5 | 155 + Master/texmf-dist/doc/man/man5/updmap.cfg.man5.pdf | Bin 0 -> 8664 bytes Master/texmf-dist/doc/sjisconv/sjisconv.pdf | Bin 0 -> 31612 bytes Master/texmf-dist/doc/tetex/TETEXDOC.pdf | Bin 0 -> 337756 bytes Master/texmf-dist/doc/tetex/teTeX-FAQ | 440 + Master/texmf-dist/doc/texlive/index.html | 63 + .../doc/texlive/texlive-common/examples/ex5.tex | 6 + .../doc/texlive/texlive-common/examples/ex6.tex | 56 + .../doc/texlive/texlive-common/examples/ex6a.tex | 24 + .../doc/texlive/texlive-common/examples/ex6b.tex | 6 + .../doc/texlive/texlive-common/examples/ex6c.tex | 14 + .../texlive/texlive-common/install-lnx-main.png | Bin 0 -> 91892 bytes .../doc/texlive/texlive-common/psview.png | Bin 0 -> 10129 bytes .../doc/texlive/texlive-common/stdcoll.png | Bin 0 -> 50500 bytes .../texlive-common/tlmgr-general-options.png | Bin 0 -> 31765 bytes .../doc/texlive/texlive-common/tlmgr-gui.png | Bin 0 -> 59972 bytes .../texlive/texlive-common/tlmgr-paper-options.png | Bin 0 -> 20193 bytes .../doc/texlive/texlive-common/tray-menu.png | Bin 0 -> 2078 bytes .../doc/texlive/texlive-common/wizard-w32.png | Bin 0 -> 30107 bytes Master/texmf-dist/doc/texlive/texlive-cz/Makefile | 2 + .../texmf-dist/doc/texlive/texlive-cz/csquote.sty | 181 + .../doc/texlive/texlive-cz/ec-lmr10-19.png | Bin 0 -> 201 bytes .../texmf-dist/doc/texlive/texlive-cz/live4ht.cfg | 47 + .../texmf-dist/doc/texlive/texlive-cz/tex-live.css | 44 + .../doc/texlive/texlive-cz/texlive-cz.css | 353 + .../doc/texlive/texlive-cz/texlive-cz.html | 6639 +++++++ .../doc/texlive/texlive-cz/texlive-cz.pdf | Bin 0 -> 828466 bytes .../doc/texlive/texlive-cz/texlive-cz.tex | 3734 ++++ Master/texmf-dist/doc/texlive/texlive-de/Makefile | 2 + .../doc/texlive/texlive-de/lmsy10-40.png | Bin 0 -> 273 bytes .../doc/texlive/texlive-de/texlive-de-new.tex | 2151 +++ .../doc/texlive/texlive-de/texlive-de.css | 474 + .../doc/texlive/texlive-de/texlive-de.html | 2192 +++ .../doc/texlive/texlive-de/texlive-de.pdf | Bin 0 -> 1031694 bytes .../doc/texlive/texlive-de/texlive-de.tex | 3328 ++++ Master/texmf-dist/doc/texlive/texlive-en/Makefile | 34 + Master/texmf-dist/doc/texlive/texlive-en/README | 5 + .../doc/texlive/texlive-en/archive/bv-live.tex | 84 + .../doc/texlive/texlive-en/archive/bvoutln.sty | 193 + .../doc/texlive/texlive-en/archive/changemail | 24 + .../texmf-dist/doc/texlive/texlive-en/archive/l.pl | 44 + .../doc/texlive/texlive-en/archive/live-2003.tex | 3937 ++++ .../doc/texlive/texlive-en/archive/live-2004.tex | 3854 ++++ .../doc/texlive/texlive-en/archive/live-2005.tex | 3174 ++++ .../doc/texlive/texlive-en/archive/live-2007.tex | 3264 ++++ .../doc/texlive/texlive-en/archive/live-2008.tex | 2951 +++ .../doc/texlive/texlive-en/archive/live-2009.tex | 3130 ++++ .../doc/texlive/texlive-en/archive/live-2010.tex | 3143 ++++ .../doc/texlive/texlive-en/archive/live-2011.tex | 3303 ++++ .../doc/texlive/texlive-en/archive/live-tl7.tex | 3554 ++++ .../texlive/texlive-en/archive/live4ht.cfg-2004 | 36 + .../doc/texlive/texlive-en/archive/mod.pl | 976 + .../doc/texlive/texlive-en/archive/nocites.tex | 557 + .../doc/texlive/texlive-en/archive/picture.tex | 46 + .../doc/texlive/texlive-en/archive/split.pl | 16 + .../doc/texlive/texlive-en/archive/status.pl | 31 + .../doc/texlive/texlive-en/archive/tex-live.bib | 235 + .../doc/texlive/texlive-en/archive/tex-live.bst | 60 + .../texlive/texlive-en/archive/tex-live.sty-2003 | 378 + .../texlive/texlive-en/archive/tex-live.sty-2004 | 422 + .../texlive/texlive-en/archive/tex-live.sty-2005 | 429 + .../texlive/texlive-en/archive/tex-live.sty-2007 | 429 + .../texlive/texlive-en/archive/tex-live.sty-2008 | 444 + .../texlive/texlive-en/archive/tex-live.sty-2009 | 489 + .../texlive/texlive-en/archive/tex-live.sty-2010 | 493 + .../doc/texlive/texlive-en/archive/texlive.pl | 574 + .../texmf-dist/doc/texlive/texlive-en/live4ht.cfg | 52 + .../texmf-dist/doc/texlive/texlive-en/tex-live.css | 44 + .../texmf-dist/doc/texlive/texlive-en/tex-live.sty | 494 + .../doc/texlive/texlive-en/texlive-en.css | 338 + .../doc/texlive/texlive-en/texlive-en.html | 6379 +++++++ .../doc/texlive/texlive-en/texlive-en.pdf | Bin 0 -> 896947 bytes .../doc/texlive/texlive-en/texlive-en.tex | 3360 ++++ Master/texmf-dist/doc/texlive/texlive-fr/Makefile | 4 + .../texmf-dist/doc/texlive/texlive-fr/live4ht.cfg | 47 + Master/texmf-dist/doc/texlive/texlive-fr/notes | 83 + .../texmf-dist/doc/texlive/texlive-fr/tex-live.css | 44 + .../doc/texlive/texlive-fr/texlive-fr.css | 478 + .../doc/texlive/texlive-fr/texlive-fr.html | 6668 +++++++ .../doc/texlive/texlive-fr/texlive-fr.pdf | Bin 0 -> 997622 bytes .../doc/texlive/texlive-fr/texlive-fr.tex | 3653 ++++ Master/texmf-dist/doc/texlive/texlive-it/Makefile | 3 + .../doc/texlive/texlive-it/texlive-it.html | 6532 +++++++ .../doc/texlive/texlive-it/texlive-it.pdf | Bin 0 -> 907628 bytes .../doc/texlive/texlive-it/texlive-it.tex | 3587 ++++ Master/texmf-dist/doc/texlive/texlive-pl/Makefile | 2 + .../texmf-dist/doc/texlive/texlive-pl/live4ht.cfg | 52 + .../texmf-dist/doc/texlive/texlive-pl/tex-live.css | 44 + .../doc/texlive/texlive-pl/tex-livep.sty | 497 + .../doc/texlive/texlive-pl/texlive-pl.css | 380 + .../doc/texlive/texlive-pl/texlive-pl.html | 6942 +++++++ .../doc/texlive/texlive-pl/texlive-pl.pdf | Bin 0 -> 965707 bytes .../doc/texlive/texlive-pl/texlive-pl.tex | 3862 ++++ Master/texmf-dist/doc/texlive/texlive-ru/Makefile | 2 + .../texmf-dist/doc/texlive/texlive-ru/live4ht.cfg | 47 + .../texmf-dist/doc/texlive/texlive-ru/t2almdh.fd | 51 + Master/texmf-dist/doc/texlive/texlive-ru/t2almr.fd | 60 + .../texmf-dist/doc/texlive/texlive-ru/t2almss.fd | 60 + .../texmf-dist/doc/texlive/texlive-ru/t2almtt.fd | 59 + .../texmf-dist/doc/texlive/texlive-ru/tex-live.css | 44 + .../doc/texlive/texlive-ru/texlive-ru.css | 192 + .../doc/texlive/texlive-ru/texlive-ru.html | 6368 +++++++ .../doc/texlive/texlive-ru/texlive-ru.pdf | Bin 0 -> 1016558 bytes .../doc/texlive/texlive-ru/texlive-ru.tex | 3468 ++++ Master/texmf-dist/doc/texlive/texlive-sr/Makefile | 26 + .../doc/texlive/texlive-sr/README-SR.txt | 48 + .../tl2012-install-tl-collections-freebsd-sr.png | Bin 0 -> 40900 bytes .../tl2012-install-tl-expert-gui-freebsd-sr.png | Bin 0 -> 83187 bytes .../images/tl2012-install-tl-wizard-win32-sr.png | Bin 0 -> 29374 bytes .../images/tl2012-tlmgr-main-screen-freebsd-sr.png | Bin 0 -> 43132 bytes .../images/tl2012-tlmgr-options-freebsd-sr.png | Bin 0 -> 32396 bytes .../tl2012-tlmgr-paper-options-freebsd-sr.png | Bin 0 -> 21613 bytes .../doc/texlive/texlive-sr/texlive-sr.css | 178 + .../doc/texlive/texlive-sr/texlive-sr.html | 5934 ++++++ .../doc/texlive/texlive-sr/texlive-sr.pdf | Bin 0 -> 490509 bytes .../doc/texlive/texlive-sr/texlive-sr.sty | 70 + .../doc/texlive/texlive-sr/texlive-sr.tex | 3907 ++++ .../texmf-dist/doc/texlive/texlive-zh-cn/Makefile | 23 + .../doc/texlive/texlive-zh-cn/README-live.ZH-CN | 25 + .../doc/texlive/texlive-zh-cn/tex-live-zh-cn.sty | 35 + .../doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf | Bin 0 -> 793300 bytes .../doc/texlive/texlive-zh-cn/texlive-zh-cn.tex | 2788 +++ Master/texmf-dist/doc/texworks/README | 14 + Master/texmf-dist/doc/tpic2pdftex/Makefile | 31 + .../texmf-dist/doc/tpic2pdftex/beamerexample.pdf | Bin 0 -> 25528 bytes .../texmf-dist/doc/tpic2pdftex/beamerexample.pic | 88 + Master/texmf-dist/doc/tpic2pdftex/example.pdf | 714 + Master/texmf-dist/doc/tpic2pdftex/example.pic | 127 + Master/texmf-dist/doc/ttf2pk/ttf2pk.doc | 806 + Master/texmf-dist/doc/ttf2pk/ttf2pk.txt | 152 + Master/texmf-dist/doc/ttf2pk/ttf2tfm.txt | 644 + Master/texmf-dist/doc/vlna/vlna.pdf | Bin 0 -> 134771 bytes Master/texmf-dist/doc/web2c/web2c.html | 4718 +++++ Master/texmf-dist/doc/web2c/web2c.pdf | Bin 0 -> 467319 bytes Master/texmf-dist/doc/xindy/NEWS | 25 + Master/texmf-dist/doc/xindy/README | 14 + Master/texmf-dist/doc/xindy/README.distrib-source | 127 + Master/texmf-dist/doc/xindy/alphabets-doc.pdf | Bin 0 -> 380525 bytes Master/texmf-dist/doc/xindy/dataflow.gif | Bin 0 -> 1988 bytes Master/texmf-dist/doc/xindy/faq-1.html | 169 + Master/texmf-dist/doc/xindy/faq-2.html | 95 + Master/texmf-dist/doc/xindy/faq-3.html | 83 + Master/texmf-dist/doc/xindy/faq-4.html | 668 + Master/texmf-dist/doc/xindy/faq.html | 90 + Master/texmf-dist/doc/xindy/index.gif | Bin 0 -> 9066 bytes Master/texmf-dist/doc/xindy/manual-1.html | 42 + Master/texmf-dist/doc/xindy/manual-2.html | 302 + Master/texmf-dist/doc/xindy/manual-3.html | 1160 ++ Master/texmf-dist/doc/xindy/manual-4.html | 230 + Master/texmf-dist/doc/xindy/manual-5.html | 63 + Master/texmf-dist/doc/xindy/manual-6.html | 53 + Master/texmf-dist/doc/xindy/manual-7.html | 53 + Master/texmf-dist/doc/xindy/manual.html | 73 + Master/texmf-dist/doc/xindy/mappings.gif | Bin 0 -> 878 bytes Master/texmf-dist/doc/xindy/style-tutorial-1.html | 92 + Master/texmf-dist/doc/xindy/style-tutorial-2.html | 361 + Master/texmf-dist/doc/xindy/style-tutorial-3.html | 263 + Master/texmf-dist/doc/xindy/style-tutorial-4.html | 41 + Master/texmf-dist/doc/xindy/style-tutorial.html | 66 + Master/texmf-dist/doc/xindy/style-tutorial/ex1.raw | 20 + Master/texmf-dist/doc/xindy/style-tutorial/ex1.tex | 16 + Master/texmf-dist/doc/xindy/style-tutorial/ex2.raw | 35 + Master/texmf-dist/doc/xindy/style-tutorial/ex2.tex | 16 + .../texmf-dist/doc/xindy/style-tutorial/index.tex | 16 + .../texmf-dist/doc/xindy/style-tutorial/style1.xdy | 55 + .../texmf-dist/doc/xindy/style-tutorial/style2.xdy | 80 + Master/texmf-dist/doc/xindy/tex2xindy.pdf | Bin 0 -> 4825 bytes Master/texmf-dist/doc/xindy/texindy.pdf | Bin 0 -> 12313 bytes Master/texmf-dist/doc/xindy/xindy.pdf | Bin 0 -> 11444 bytes 1028 files changed, 309586 insertions(+) create mode 100644 Master/texmf-dist/doc/asymptote/CAD.pdf create mode 100644 Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf create mode 100644 Master/texmf-dist/doc/asymptote/asy-latex.pdf create mode 100644 Master/texmf-dist/doc/asymptote/asyRefCard.pdf create mode 100644 Master/texmf-dist/doc/asymptote/asymptote.pdf create mode 100644 Master/texmf-dist/doc/asymptote/examples/100d.views create mode 100644 Master/texmf-dist/doc/asymptote/examples/1overx.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Bode.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/CAD1.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/CDlabel.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Coons.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/GaussianSurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Gouraud.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Gouraudcontour.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Hobbycontrol.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Hobbydir.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Klein.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Pythagoras.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/PythagoreanTree.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/Sierpinski.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/advection.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/alignbox.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/alignedaxis.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/cube.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/earthmoon.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/embeddedu3d.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/externalmovie.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/glmovie.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/heatequation.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie.tex create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie3.tex create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/pdfmovie.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/sphere.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/wavepacket.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/animations/wheel.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/annotation.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/arrows3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/axis3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/bars3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/basealign.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/bezier.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/bezier2.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/beziercurve.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/bigdiagonal.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/billboard.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/binarytreetest.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/brokenaxis.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/buildcycle.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cardioid.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cards.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/centroidfg.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cheese.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/circles.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/clockarray.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/coag.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/colons.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/colorplanes.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/colors.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/condor.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cones.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/conicurv.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/contextfonts.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/controlsystem.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cos2theta.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cos3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cosaddition.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cube.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/curvedlabel.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cyclohexane.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cylinder.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/cylinderskeleton.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/datagraph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/delu.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/diagonal.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/diatom.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/diatom.csv create mode 100644 Master/texmf-dist/doc/asymptote/examples/dimension.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/dots.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/dragon.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/eetomumu.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/elevation.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/elliptic.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/epix.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/equilateral.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/equilchord.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/errorbars.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/exp.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/exp3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/externalprc.tex create mode 100644 Master/texmf-dist/doc/asymptote/examples/extrudedcontour.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/fano.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/fequlogo.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/fermi.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/filegraph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/filegraph.dat create mode 100644 Master/texmf-dist/doc/asymptote/examples/filesurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/filesurface.dat create mode 100644 Master/texmf-dist/doc/asymptote/examples/fillcontour.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/fin.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/fjortoft.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/floor.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/flow.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/fractaltree.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/functionshading.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/galleon.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/gamma.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/gamma3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/generalaxis.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/generalaxis3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/graphmarkers.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/grid.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/grid3xyz.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/hatch.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/helix.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/hierarchy.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/histogram.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/hyperboloid.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/hyperboloidsilhouette.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/icon.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/image.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/imagecontour.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/impact.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/integraltest.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/interpolate1.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/intro.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/irregularcontour.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/join.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/join3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/jump.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/knots.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/label3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/label3ribbon.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/label3solid.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/label3zoom.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/labelbox.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/labelsquare.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/laserlattice.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/latexusage.tex create mode 100644 Master/texmf-dist/doc/asymptote/examples/latticeshading.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/layers.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/leastsquares.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/leastsquares.dat create mode 100644 Master/texmf-dist/doc/asymptote/examples/legend.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/lever.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/limit.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/lineargraph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/lineargraph0.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/lines.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/linetype.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/lmfit1.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/log.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/log2graph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/logdown.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/loggraph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/loggrid.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/logimage.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/logo.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/logo3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/logticks.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/lowint.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/lowupint.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/magnetic.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/makepen.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/markers1.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/markers2.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/markregular.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/mergeExample.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/mexicanhat.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/monthaxis.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/mosaic.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/mosquito.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/multicontour.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/near_earth.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/odetest.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/onecontour.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/oneoverx.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/orthocenter.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/p-orbital.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/parametricelevation.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/parametricgraph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/parametricsurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/partialsurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/partitionExample.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/pdb.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/penfunctionimage.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/penimage.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/phase.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/piicon.eps create mode 100644 Master/texmf-dist/doc/asymptote/examples/pipeintersection.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/pipes.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/pixel.pdf create mode 100644 Master/texmf-dist/doc/asymptote/examples/planeproject.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/planes.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/polararea.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/polarcircle.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/polardatagraph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/poster.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/progrid.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/projectelevation.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/pseudosphere.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/quartercircle.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/quilt.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/rainbow.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/randompath3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/ring.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/roll.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/roundpath.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sacone.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sacone3D.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sacylinder.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sacylinder3D.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/saddle.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/scaledgraph.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/secondaryaxis.csv create mode 100644 Master/texmf-dist/doc/asymptote/examples/shade.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/shadedtiling.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/shadestroke.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/shellmethod.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/shellsqrtx01.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sin1x.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sin3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sinc.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sinxlex.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/slidedemo.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/slopefield1.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/smoothelevation.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/soccerball.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spectrum.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sphere.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spheresilhouette.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sphericalharmonic.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spiral.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spiral3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spline.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/splitpatch.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spring.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spring0.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/spring2.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sqrtx01.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/sqrtx01y1.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/square.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/star.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/stroke3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/strokepath.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/strokeshade.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/subpictures.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/superpath.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/tanh.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/teapot.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/tensor.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/textpath.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/threeviews.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/tile.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/torus.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/transparency.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/treetest.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/trefoilknot.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/triads.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/triangle.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/triangulate.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/triceratops.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/trumpet.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/tvgen.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/unitcircle.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/unitcircle3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/unitoctant.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/upint.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/vectorfield.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/vectorfield3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/vectorfieldsphere.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/venn.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/venn3.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/vertexshading.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/washer.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/washermethod.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/wedge.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/westnile.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/westnile.csv create mode 100644 Master/texmf-dist/doc/asymptote/examples/workcone.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/worksheet.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/worldmap.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/xsin1x.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/xstitch.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/xxsq01.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy create mode 100644 Master/texmf-dist/doc/asymptote/examples/yingyang.asy create mode 100644 Master/texmf-dist/doc/bg5conv/bg5conv.pdf create mode 100644 Master/texmf-dist/doc/bibtex8/00readme.txt create mode 100644 Master/texmf-dist/doc/bibtex8/HISTORY create mode 100644 Master/texmf-dist/doc/bibtex8/csfile.txt create mode 100644 Master/texmf-dist/doc/bibtex8/file_id.diz create mode 100644 Master/texmf-dist/doc/bibtexu/00readme.txt create mode 100644 Master/texmf-dist/doc/bibtexu/HISTORY create mode 100644 Master/texmf-dist/doc/bibtexu/csfile.txt create mode 100644 Master/texmf-dist/doc/bibtexu/file_id.diz create mode 100644 Master/texmf-dist/doc/cef5conv/cef5conv.pdf create mode 100644 Master/texmf-dist/doc/cefconv/cefconv.pdf create mode 100644 Master/texmf-dist/doc/cefsconv/cefsconv.pdf create mode 100644 Master/texmf-dist/doc/chktex/ChkTeX.pdf create mode 100644 Master/texmf-dist/doc/dvipdfm/Makefile create mode 100644 Master/texmf-dist/doc/dvipdfm/dvipdfm.pdf create mode 100644 Master/texmf-dist/doc/dvipdfm/dvipdfm.tex create mode 100644 Master/texmf-dist/doc/dvipdfm/mwicks.bb create mode 100644 Master/texmf-dist/doc/dvipdfm/mwicks.jpeg create mode 100644 Master/texmf-dist/doc/dvipdfm/sample.tex create mode 100644 Master/texmf-dist/doc/dvipdfm/something.bb create mode 100644 Master/texmf-dist/doc/dvipdfm/something.eps create mode 100644 Master/texmf-dist/doc/dvipdfm/something.fig create mode 100644 Master/texmf-dist/doc/dvipdfm/something.pdf create mode 100644 Master/texmf-dist/doc/dvipdfm/transistor.bb create mode 100644 Master/texmf-dist/doc/dvipdfm/transistor.eps create mode 100644 Master/texmf-dist/doc/dvipdfm/transistor.fig create mode 100644 Master/texmf-dist/doc/dvipdfm/transistor.pdf create mode 100644 Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.pdf create mode 100644 Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.tex create mode 100644 Master/texmf-dist/doc/dvipng/dvipng.html create mode 100644 Master/texmf-dist/doc/dvipng/dvipng.pdf create mode 100644 Master/texmf-dist/doc/dvips/dvips.html create mode 100644 Master/texmf-dist/doc/dvips/dvips.pdf create mode 100644 Master/texmf-dist/doc/extconv/extconv.pdf create mode 100644 Master/texmf-dist/doc/generic/elhyphen/README create mode 100644 Master/texmf-dist/doc/generic/elhyphen/anc-test.ltx create mode 100644 Master/texmf-dist/doc/generic/elhyphen/anc-test.pdf create mode 100644 Master/texmf-dist/doc/generic/elhyphen/ancient.pdf create mode 100644 Master/texmf-dist/doc/generic/elhyphen/compound.ltx create mode 100644 Master/texmf-dist/doc/generic/elhyphen/compound.pdf create mode 100644 Master/texmf-dist/doc/generic/elhyphen/copyrite.txt create mode 100644 Master/texmf-dist/doc/generic/elhyphen/modern.pdf create mode 100644 Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf create mode 100644 Master/texmf-dist/doc/generic/huhyphen/hyph_hu.dic create mode 100644 Master/texmf-dist/doc/generic/huhyphen/searchforerrors.rb create mode 100644 Master/texmf-dist/doc/generic/huhyphen/testhyphenation.rb create mode 100644 Master/texmf-dist/doc/gzip/gzip.html create mode 100644 Master/texmf-dist/doc/gzip/gzip.pdf create mode 100644 Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf create mode 100644 Master/texmf-dist/doc/info/asy-faq.info create mode 100644 Master/texmf-dist/doc/info/asymptote.info create mode 100644 Master/texmf-dist/doc/info/dir create mode 100644 Master/texmf-dist/doc/info/dvipng.info create mode 100644 Master/texmf-dist/doc/info/dvips.info create mode 100644 Master/texmf-dist/doc/info/eplain.info create mode 100644 Master/texmf-dist/doc/info/epspdf.info create mode 100644 Master/texmf-dist/doc/info/fontname.info create mode 100644 Master/texmf-dist/doc/info/kpathsea.info create mode 100644 Master/texmf-dist/doc/info/latex2e-es.info create mode 100644 Master/texmf-dist/doc/info/latex2e.info create mode 100644 Master/texmf-dist/doc/info/latex2man.info create mode 100644 Master/texmf-dist/doc/info/mf2pt1.info create mode 100644 Master/texmf-dist/doc/info/tds.info create mode 100644 Master/texmf-dist/doc/info/texdraw.info create mode 100644 Master/texmf-dist/doc/info/web2c.info create mode 100644 Master/texmf-dist/doc/kpathsea/kpathsea.html create mode 100644 Master/texmf-dist/doc/kpathsea/kpathsea.pdf create mode 100644 Master/texmf-dist/doc/man/Makefile create mode 100644 Master/texmf-dist/doc/man/man1/Makefile create mode 100644 Master/texmf-dist/doc/man/man1/a2ping.1 create mode 100644 Master/texmf-dist/doc/man/man1/a2ping.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/afm2afm.1 create mode 100644 Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/afm2pl.1 create mode 100644 Master/texmf-dist/doc/man/man1/afm2pl.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/afm2tfm.1 create mode 100644 Master/texmf-dist/doc/man/man1/afm2tfm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/aleph.1 create mode 100644 Master/texmf-dist/doc/man/man1/aleph.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/allcm.1 create mode 100644 Master/texmf-dist/doc/man/man1/allcm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/allec.1 create mode 100644 Master/texmf-dist/doc/man/man1/allec.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/allneeded.1 create mode 100644 Master/texmf-dist/doc/man/man1/allneeded.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/amstex.1 create mode 100644 Master/texmf-dist/doc/man/man1/amstex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/arlatex.1 create mode 100644 Master/texmf-dist/doc/man/man1/arlatex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/asy.1 create mode 100644 Master/texmf-dist/doc/man/man1/asy.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/autoinst.1 create mode 100644 Master/texmf-dist/doc/man/man1/autoinst.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/bbox.1 create mode 100644 Master/texmf-dist/doc/man/man1/bbox.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/bg5conv.1 create mode 100644 Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/bibtex.1 create mode 100644 Master/texmf-dist/doc/man/man1/bibtex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/bundledoc.1 create mode 100644 Master/texmf-dist/doc/man/man1/bundledoc.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/cef5conv.1 create mode 100644 Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/cefconv.1 create mode 100644 Master/texmf-dist/doc/man/man1/cefconv.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/cefsconv.1 create mode 100644 Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/cfftot1.1 create mode 100644 Master/texmf-dist/doc/man/man1/cfftot1.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/chktex.1 create mode 100644 Master/texmf-dist/doc/man/man1/chktex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/chkweb.1 create mode 100644 Master/texmf-dist/doc/man/man1/chkweb.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/context.1 create mode 100644 Master/texmf-dist/doc/man/man1/context.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ctangle.1 create mode 100644 Master/texmf-dist/doc/man/man1/ctangle.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ctanify.1 create mode 100644 Master/texmf-dist/doc/man/man1/ctanify.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ctie.1 create mode 100644 Master/texmf-dist/doc/man/man1/ctie.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ctxtools.1 create mode 100644 Master/texmf-dist/doc/man/man1/ctxtools.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/cweave.1 create mode 100644 Master/texmf-dist/doc/man/man1/cweave.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/cweb.1 create mode 100644 Master/texmf-dist/doc/man/man1/cweb.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/detex.1 create mode 100644 Master/texmf-dist/doc/man/man1/detex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/deweb.1 create mode 100644 Master/texmf-dist/doc/man/man1/deweb.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/disdvi.1 create mode 100644 Master/texmf-dist/doc/man/man1/disdvi.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dosepsbin.1 create mode 100644 Master/texmf-dist/doc/man/man1/dosepsbin.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dt2dv.1 create mode 100644 Master/texmf-dist/doc/man/man1/dt2dv.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dv2dt.1 create mode 100644 Master/texmf-dist/doc/man/man1/dv2dt.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvi2fax.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvi2fax.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvi2tty.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvi2tty.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvibook.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvibook.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dviconcat.1 create mode 100644 Master/texmf-dist/doc/man/man1/dviconcat.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvicopy.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvicopy.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvidvi.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvidvi.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvigif.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvigif.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvihp.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvihp.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvilj.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvilj.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvilj2p.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvilj2p.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvilj4.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvilj4.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvilj4l.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvilj4l.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvilj6.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvilj6.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvipdfm.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvipdfm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvipdft.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvipdft.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvipng.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvipng.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvipos.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvipos.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvips.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvips.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvired.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvired.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dviselect.1 create mode 100644 Master/texmf-dist/doc/man/man1/dviselect.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvisvgm.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvisvgm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvitodvi.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvitodvi.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvitomp.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvitomp.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/dvitype.1 create mode 100644 Master/texmf-dist/doc/man/man1/dvitype.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/e2pall.1 create mode 100644 Master/texmf-dist/doc/man/man1/e2pall.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ebb.1 create mode 100644 Master/texmf-dist/doc/man/man1/ebb.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/eplain.1 create mode 100644 Master/texmf-dist/doc/man/man1/eplain.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/epsffit.1 create mode 100644 Master/texmf-dist/doc/man/man1/epsffit.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/epstopdf.1 create mode 100644 Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/etex.1 create mode 100644 Master/texmf-dist/doc/man/man1/etex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/extconv.1 create mode 100644 Master/texmf-dist/doc/man/man1/extconv.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/extractbb.1 create mode 100644 Master/texmf-dist/doc/man/man1/extractbb.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/extractres.1 create mode 100644 Master/texmf-dist/doc/man/man1/extractres.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/findhyph.1 create mode 100644 Master/texmf-dist/doc/man/man1/findhyph.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixdlsrps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixdlsrps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixfmps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixfmps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixpsditps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixpsditps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixpspps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixpspps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixscribeps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixscribeps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixtpps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixtpps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixwfwps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixwfwps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixwpps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixwpps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fixwwps.1 create mode 100644 Master/texmf-dist/doc/man/man1/fixwwps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fmtutil-sys.1 create mode 100644 Master/texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fmtutil.1 create mode 100644 Master/texmf-dist/doc/man/man1/fmtutil.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/fontinst.1 create mode 100644 Master/texmf-dist/doc/man/man1/fontinst.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/getafm.1 create mode 100644 Master/texmf-dist/doc/man/man1/getafm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/gftodvi.1 create mode 100644 Master/texmf-dist/doc/man/man1/gftodvi.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/gftopk.1 create mode 100644 Master/texmf-dist/doc/man/man1/gftopk.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/gftype.1 create mode 100644 Master/texmf-dist/doc/man/man1/gftype.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/gsftopk.1 create mode 100644 Master/texmf-dist/doc/man/man1/gsftopk.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/hbf2gf.1 create mode 100644 Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/includeres.1 create mode 100644 Master/texmf-dist/doc/man/man1/includeres.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/install-tl.1 create mode 100644 Master/texmf-dist/doc/man/man1/install-tl.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpseaccess.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpseaccess.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpsepath.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpsepath.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpsereadlink.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpsereadlink.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpsestat.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpsestat.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpsetool.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpsetool.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpsewhere.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpsewhere.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpsewhich.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpsewhich.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/kpsexpand.1 create mode 100644 Master/texmf-dist/doc/man/man1/kpsexpand.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/lacheck.1 create mode 100644 Master/texmf-dist/doc/man/man1/lacheck.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/lamed.1 create mode 100644 Master/texmf-dist/doc/man/man1/lamed.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/latex.1 create mode 100644 Master/texmf-dist/doc/man/man1/latex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/latexdiff-vc.1 create mode 100644 Master/texmf-dist/doc/man/man1/latexdiff-vc.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/latexdiff.1 create mode 100644 Master/texmf-dist/doc/man/man1/latexdiff.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/latexmk.1 create mode 100644 Master/texmf-dist/doc/man/man1/latexmk.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/latexrevise.1 create mode 100644 Master/texmf-dist/doc/man/man1/latexrevise.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/luatex.1 create mode 100644 Master/texmf-dist/doc/man/man1/luatex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/m-tx.1 create mode 100644 Master/texmf-dist/doc/man/man1/m-tx.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mag.1 create mode 100644 Master/texmf-dist/doc/man/man1/mag.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/makeindex.1 create mode 100644 Master/texmf-dist/doc/man/man1/makeindex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mendex.1 create mode 100644 Master/texmf-dist/doc/man/man1/mendex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mf-nowin.1 create mode 100644 Master/texmf-dist/doc/man/man1/mf-nowin.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mf.1 create mode 100644 Master/texmf-dist/doc/man/man1/mf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mft.1 create mode 100644 Master/texmf-dist/doc/man/man1/mft.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mkindex.1 create mode 100644 Master/texmf-dist/doc/man/man1/mkindex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mkjobtexmf.1 create mode 100644 Master/texmf-dist/doc/man/man1/mkjobtexmf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mkocp.1 create mode 100644 Master/texmf-dist/doc/man/man1/mkocp.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mkofm.1 create mode 100644 Master/texmf-dist/doc/man/man1/mkofm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mktexfmt.1 create mode 100644 Master/texmf-dist/doc/man/man1/mktexfmt.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mktexlsr.1 create mode 100644 Master/texmf-dist/doc/man/man1/mktexlsr.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mktexmf.1 create mode 100644 Master/texmf-dist/doc/man/man1/mktexmf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mktexpk.1 create mode 100644 Master/texmf-dist/doc/man/man1/mktexpk.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mktextfm.1 create mode 100644 Master/texmf-dist/doc/man/man1/mktextfm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mmafm.1 create mode 100644 Master/texmf-dist/doc/man/man1/mmafm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mmpfb.1 create mode 100644 Master/texmf-dist/doc/man/man1/mmpfb.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mpost.1 create mode 100644 Master/texmf-dist/doc/man/man1/mpost.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/mptopdf.1 create mode 100644 Master/texmf-dist/doc/man/man1/mptopdf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/musixflx.1 create mode 100644 Master/texmf-dist/doc/man/man1/musixflx.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/musixtex.1 create mode 100644 Master/texmf-dist/doc/man/man1/musixtex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/odvicopy.1 create mode 100644 Master/texmf-dist/doc/man/man1/odvicopy.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/odvips.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/odvitype.1 create mode 100644 Master/texmf-dist/doc/man/man1/odvitype.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ofm2opl.1 create mode 100644 Master/texmf-dist/doc/man/man1/ofm2opl.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/opl2ofm.1 create mode 100644 Master/texmf-dist/doc/man/man1/opl2ofm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ot2kpx.1 create mode 100644 Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/otangle.1 create mode 100644 Master/texmf-dist/doc/man/man1/otangle.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/otfinfo.1 create mode 100644 Master/texmf-dist/doc/man/man1/otfinfo.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/otftotfm.1 create mode 100644 Master/texmf-dist/doc/man/man1/otftotfm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/otp2ocp.1 create mode 100644 Master/texmf-dist/doc/man/man1/otp2ocp.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/outocp.1 create mode 100644 Master/texmf-dist/doc/man/man1/outocp.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ovf2ovp.1 create mode 100644 Master/texmf-dist/doc/man/man1/ovf2ovp.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ovp2ovf.1 create mode 100644 Master/texmf-dist/doc/man/man1/ovp2ovf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/patgen.1 create mode 100644 Master/texmf-dist/doc/man/man1/patgen.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdf180.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdf180.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdf270.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdf270.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdf90.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdf90.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfbook.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfbook.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfclose.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfclose.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfetex.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfetex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfflip.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfflip.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam-slides3up.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam-slides3up.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam-slides6up.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam-slides6up.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfjam.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfjoin.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfjoin.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdflatex.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdflatex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfnup.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfnup.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfopen.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfopen.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdfpun.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdfpun.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdftex.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdftex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pdftosrc.1 create mode 100644 Master/texmf-dist/doc/man/man1/pdftosrc.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/perltex.1 create mode 100644 Master/texmf-dist/doc/man/man1/perltex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pfb2pfa.1 create mode 100644 Master/texmf-dist/doc/man/man1/pfb2pfa.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pk2bm.1 create mode 100644 Master/texmf-dist/doc/man/man1/pk2bm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pkfix-helper.1 create mode 100644 Master/texmf-dist/doc/man/man1/pkfix-helper.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pktogf.1 create mode 100644 Master/texmf-dist/doc/man/man1/pktogf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pktype.1 create mode 100644 Master/texmf-dist/doc/man/man1/pktype.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pltotf.1 create mode 100644 Master/texmf-dist/doc/man/man1/pltotf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pmx2pdf.1 create mode 100644 Master/texmf-dist/doc/man/man1/pmx2pdf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pmxab.1 create mode 100644 Master/texmf-dist/doc/man/man1/pmxab.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pooltype.1 create mode 100644 Master/texmf-dist/doc/man/man1/pooltype.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/prepmx.1 create mode 100644 Master/texmf-dist/doc/man/man1/prepmx.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ps2eps.1 create mode 100644 Master/texmf-dist/doc/man/man1/ps2eps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ps2frag.1 create mode 100644 Master/texmf-dist/doc/man/man1/ps2frag.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ps2pk.1 create mode 100644 Master/texmf-dist/doc/man/man1/ps2pk.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/psbook.1 create mode 100644 Master/texmf-dist/doc/man/man1/psbook.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pslatex.1 create mode 100644 Master/texmf-dist/doc/man/man1/pslatex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/psmerge.1 create mode 100644 Master/texmf-dist/doc/man/man1/psmerge.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/psnup.1 create mode 100644 Master/texmf-dist/doc/man/man1/psnup.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/psresize.1 create mode 100644 Master/texmf-dist/doc/man/man1/psresize.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/psselect.1 create mode 100644 Master/texmf-dist/doc/man/man1/psselect.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pstopdf.1 create mode 100644 Master/texmf-dist/doc/man/man1/pstopdf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/pstops.1 create mode 100644 Master/texmf-dist/doc/man/man1/pstops.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/purifyeps.1 create mode 100644 Master/texmf-dist/doc/man/man1/purifyeps.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/repstopdf.1 create mode 100644 Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/rubibtex.1 create mode 100644 Master/texmf-dist/doc/man/man1/rubibtex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/rumakeindex.1 create mode 100644 Master/texmf-dist/doc/man/man1/rumakeindex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/scor2prt.1 create mode 100644 Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/sjisconv.1 create mode 100644 Master/texmf-dist/doc/man/man1/sjisconv.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/splitindex.1 create mode 100644 Master/texmf-dist/doc/man/man1/splitindex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/sty2dtx.1 create mode 100644 Master/texmf-dist/doc/man/man1/sty2dtx.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/synctex.1 create mode 100644 Master/texmf-dist/doc/man/man1/synctex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1ascii.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1ascii.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1asm.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1asm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1binary.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1binary.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1disasm.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1disasm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1dotlessj.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1dotlessj.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1lint.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1lint.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1mac.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1mac.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1rawafm.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1rawafm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1reencode.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1reencode.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1testpage.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1testpage.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/t1unmac.1 create mode 100644 Master/texmf-dist/doc/man/man1/t1unmac.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/tangle.1 create mode 100644 Master/texmf-dist/doc/man/man1/tangle.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/tex.1 create mode 100644 Master/texmf-dist/doc/man/man1/tex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/tex2xindy.1 create mode 100644 Master/texmf-dist/doc/man/man1/tex2xindy.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texconfig-sys.1 create mode 100644 Master/texmf-dist/doc/man/man1/texconfig-sys.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texconfig.1 create mode 100644 Master/texmf-dist/doc/man/man1/texconfig.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texdiff.1 create mode 100644 Master/texmf-dist/doc/man/man1/texdiff.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texdirflatten.1 create mode 100644 Master/texmf-dist/doc/man/man1/texdirflatten.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texdoc.1 create mode 100644 Master/texmf-dist/doc/man/man1/texdoc.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texdoctk.1 create mode 100644 Master/texmf-dist/doc/man/man1/texdoctk.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texexec.1 create mode 100644 Master/texmf-dist/doc/man/man1/texexec.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texhash.1 create mode 100644 Master/texmf-dist/doc/man/man1/texhash.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texindy.1 create mode 100644 Master/texmf-dist/doc/man/man1/texindy.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texlinks.1 create mode 100644 Master/texmf-dist/doc/man/man1/texlinks.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texlua.1 create mode 100644 Master/texmf-dist/doc/man/man1/texlua.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texluac.1 create mode 100644 Master/texmf-dist/doc/man/man1/texluac.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/texmfstart.1 create mode 100644 Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/tftopl.1 create mode 100644 Master/texmf-dist/doc/man/man1/tftopl.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/thumbpdf.1 create mode 100644 Master/texmf-dist/doc/man/man1/thumbpdf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/tie.1 create mode 100644 Master/texmf-dist/doc/man/man1/tie.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/tlmgr.1 create mode 100644 Master/texmf-dist/doc/man/man1/tlmgr.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/tpic2pdftex.1 create mode 100644 Master/texmf-dist/doc/man/man1/tpic2pdftex.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ttf2afm.1 create mode 100644 Master/texmf-dist/doc/man/man1/ttf2afm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ttf2pk.1 create mode 100644 Master/texmf-dist/doc/man/man1/ttf2pk.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ttf2tfm.1 create mode 100644 Master/texmf-dist/doc/man/man1/ttf2tfm.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ttfdump.1 create mode 100644 Master/texmf-dist/doc/man/man1/ttfdump.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/ttftotype42.1 create mode 100644 Master/texmf-dist/doc/man/man1/ttftotype42.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/updmap-sys.1 create mode 100644 Master/texmf-dist/doc/man/man1/updmap-sys.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/updmap.1 create mode 100644 Master/texmf-dist/doc/man/man1/updmap.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/vftovp.1 create mode 100644 Master/texmf-dist/doc/man/man1/vftovp.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/vlna.1 create mode 100644 Master/texmf-dist/doc/man/man1/vlna.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/vptovf.1 create mode 100644 Master/texmf-dist/doc/man/man1/vptovf.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/weave.1 create mode 100644 Master/texmf-dist/doc/man/man1/weave.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/xasy.1 create mode 100644 Master/texmf-dist/doc/man/man1/xasy.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/xdvi.1 create mode 100644 Master/texmf-dist/doc/man/man1/xdvi.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man1/xindy.1 create mode 100644 Master/texmf-dist/doc/man/man1/xindy.man1.pdf create mode 100644 Master/texmf-dist/doc/man/man5/Makefile create mode 100644 Master/texmf-dist/doc/man/man5/fmtutil.cnf.5 create mode 100644 Master/texmf-dist/doc/man/man5/fmtutil.cnf.man5.pdf create mode 100644 Master/texmf-dist/doc/man/man5/synctex.5 create mode 100644 Master/texmf-dist/doc/man/man5/synctex.man5.pdf create mode 100644 Master/texmf-dist/doc/man/man5/updmap.cfg.5 create mode 100644 Master/texmf-dist/doc/man/man5/updmap.cfg.man5.pdf create mode 100644 Master/texmf-dist/doc/sjisconv/sjisconv.pdf create mode 100644 Master/texmf-dist/doc/tetex/TETEXDOC.pdf create mode 100644 Master/texmf-dist/doc/tetex/teTeX-FAQ create mode 100644 Master/texmf-dist/doc/texlive/index.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/examples/ex5.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/examples/ex6.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/examples/ex6a.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/examples/ex6b.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/examples/ex6c.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/install-lnx-main.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/psview.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/stdcoll.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/tlmgr-general-options.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/tlmgr-gui.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/tlmgr-paper-options.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/tray-menu.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-common/wizard-w32.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/csquote.sty create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/ec-lmr10-19.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/live4ht.cfg create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/tex-live.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-de/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-de/lmsy10-40.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-de/texlive-de-new.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-de/texlive-de.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-de/texlive-de.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-de/texlive-de.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-de/texlive-de.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/README create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/bv-live.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/bvoutln.sty create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/changemail create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/l.pl create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2003.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2004.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2005.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2007.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2008.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2009.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2010.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-2011.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live-tl7.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/live4ht.cfg-2004 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/mod.pl create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/nocites.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/picture.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/split.pl create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/status.pl create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bib create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bst create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2003 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2004 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2005 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2007 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2008 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2009 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2010 create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/archive/texlive.pl create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/live4ht.cfg create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/tex-live.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/tex-live.sty create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/texlive-en.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/texlive-en.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/texlive-en.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-en/texlive-en.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/live4ht.cfg create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/notes create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/tex-live.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-it/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-it/texlive-it.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-it/texlive-it.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-it/texlive-it.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/live4ht.cfg create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/tex-live.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/tex-livep.sty create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/live4ht.cfg create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/t2almdh.fd create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/t2almr.fd create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/t2almss.fd create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/t2almtt.fd create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/tex-live.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/README-SR.txt create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-collections-freebsd-sr.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-expert-gui-freebsd-sr.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-wizard-win32-sr.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-main-screen-freebsd-sr.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-options-freebsd-sr.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-paper-options-freebsd-sr.png create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.css create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.html create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.sty create mode 100644 Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.tex create mode 100644 Master/texmf-dist/doc/texlive/texlive-zh-cn/Makefile create mode 100644 Master/texmf-dist/doc/texlive/texlive-zh-cn/README-live.ZH-CN create mode 100644 Master/texmf-dist/doc/texlive/texlive-zh-cn/tex-live-zh-cn.sty create mode 100644 Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf create mode 100644 Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex create mode 100644 Master/texmf-dist/doc/texworks/README create mode 100644 Master/texmf-dist/doc/tpic2pdftex/Makefile create mode 100644 Master/texmf-dist/doc/tpic2pdftex/beamerexample.pdf create mode 100644 Master/texmf-dist/doc/tpic2pdftex/beamerexample.pic create mode 100644 Master/texmf-dist/doc/tpic2pdftex/example.pdf create mode 100644 Master/texmf-dist/doc/tpic2pdftex/example.pic create mode 100644 Master/texmf-dist/doc/ttf2pk/ttf2pk.doc create mode 100644 Master/texmf-dist/doc/ttf2pk/ttf2pk.txt create mode 100644 Master/texmf-dist/doc/ttf2pk/ttf2tfm.txt create mode 100644 Master/texmf-dist/doc/vlna/vlna.pdf create mode 100644 Master/texmf-dist/doc/web2c/web2c.html create mode 100644 Master/texmf-dist/doc/web2c/web2c.pdf create mode 100644 Master/texmf-dist/doc/xindy/NEWS create mode 100644 Master/texmf-dist/doc/xindy/README create mode 100644 Master/texmf-dist/doc/xindy/README.distrib-source create mode 100644 Master/texmf-dist/doc/xindy/alphabets-doc.pdf create mode 100644 Master/texmf-dist/doc/xindy/dataflow.gif create mode 100644 Master/texmf-dist/doc/xindy/faq-1.html create mode 100644 Master/texmf-dist/doc/xindy/faq-2.html create mode 100644 Master/texmf-dist/doc/xindy/faq-3.html create mode 100644 Master/texmf-dist/doc/xindy/faq-4.html create mode 100644 Master/texmf-dist/doc/xindy/faq.html create mode 100644 Master/texmf-dist/doc/xindy/index.gif create mode 100644 Master/texmf-dist/doc/xindy/manual-1.html create mode 100644 Master/texmf-dist/doc/xindy/manual-2.html create mode 100644 Master/texmf-dist/doc/xindy/manual-3.html create mode 100644 Master/texmf-dist/doc/xindy/manual-4.html create mode 100644 Master/texmf-dist/doc/xindy/manual-5.html create mode 100644 Master/texmf-dist/doc/xindy/manual-6.html create mode 100644 Master/texmf-dist/doc/xindy/manual-7.html create mode 100644 Master/texmf-dist/doc/xindy/manual.html create mode 100644 Master/texmf-dist/doc/xindy/mappings.gif create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial-1.html create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial-2.html create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial-3.html create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial-4.html create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial.html create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial/ex1.raw create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial/ex1.tex create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial/ex2.raw create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial/ex2.tex create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial/index.tex create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial/style1.xdy create mode 100644 Master/texmf-dist/doc/xindy/style-tutorial/style2.xdy create mode 100644 Master/texmf-dist/doc/xindy/tex2xindy.pdf create mode 100644 Master/texmf-dist/doc/xindy/texindy.pdf create mode 100644 Master/texmf-dist/doc/xindy/xindy.pdf (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/asymptote/CAD.pdf b/Master/texmf-dist/doc/asymptote/CAD.pdf new file mode 100644 index 00000000000..bb61b12dd4d Binary files /dev/null and b/Master/texmf-dist/doc/asymptote/CAD.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf new file mode 100644 index 00000000000..61dfa38cc71 Binary files /dev/null and b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/asy-latex.pdf b/Master/texmf-dist/doc/asymptote/asy-latex.pdf new file mode 100644 index 00000000000..55883f461c8 Binary files /dev/null and b/Master/texmf-dist/doc/asymptote/asy-latex.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf new file mode 100644 index 00000000000..bed262c88fd Binary files /dev/null and b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/asymptote.pdf b/Master/texmf-dist/doc/asymptote/asymptote.pdf new file mode 100644 index 00000000000..914215456fb Binary files /dev/null and b/Master/texmf-dist/doc/asymptote/asymptote.pdf differ 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; i0$ 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{<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 +s7h3;]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.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.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=EmI'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,1WeAaR)!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+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*oQ]# +]:W6to_%SAoC;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#[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<5Bo"'A6.,q?__0!QoXZ8FPT +5=!CS4ioiOaZr275XELY7*J"ec::CNA5uNZ@L&o^&BBqNkIWSLoRQu[?&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%=BA5a&-)Hc +m`JD/IfNnVGuI`/='!jO)Gm4It"9`rM"*aeIGQ7eh!!%'?!H8#?E<#uW +!!$s"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@->9-`I7RIK0@a!!$L/!*K:%9E5&V!!#1a!B^>^4?tPDfqoeipPA4X9X'0_82q"X!&O]V3<0%= +!!"tY!&srY2ZNhN!!#Oi!'pSb8cSic!!#Uk!&srY2#mV=m$qL@!63%!O!!"YP!%n6O/cYl( +!!"VO!&"

c#!!"DI!%%[G0`V2(!!!*B&ccfF#H!"had!_:bt7s7PPsBC]8I7J*BFZBs8W)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=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'm`qYU'^pAb0m\u^P&Nt)-eL[N8WY^d6b72G(Mm/R+c +q"XX`s8VWYm\kRKnBao0qiTmA0Vit)@8.^)l0SHMs7uKdqYL'bqYKs\p](9n]=b^g:CY.#')(@" +s7VAhOq0saqYL'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:)a8p!$4PP8\L?!0rXrs8W,rqtg<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_tPm4HO],N3WK,=aI*pPVM"pKs8;cj +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts7#OH%1Off!)3FnD)OAd +:/9V78(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:r3;]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!)^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+'paqY^3dr;Q]ps8W,sqtg?ms0nq^\:k4gpNH,Q9=9?^>Y#S&qZ"L?L;o;Zs87ZNk%iJ;)hqf* +Cgfj1qu-Qps82]kqtp:$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!kIE=etXXcGSa(7#.(\Cs8W,dmI'cEq#CBorr2oqrVl`mrVuotrr2oss8W)trr<#u +o()=,Bc#3g)?9Ggr7u%^Er`D@N;rqXs8W,Vf5S3ns8W,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!X))^Q;*HGFN=PX@C]F!]aHI'dE`m^:[!-\f75Ql37kf=2@s`K= +D,NGY.4.ndF+].PH$Q65H_l(9V0mWdI!_];I&24X`\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: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:*frVlfq +s8W,6^="r!Jcl6u"p]i--`p-=eR;qOCM`KZEV='[mo39=:/BA4:!lR,e4E6LY(@_e`&I(t0s6*O +5XNFW7En1gb!eeC7nLlo8]jRqb=bLR92l!\/h@qG%>B'a)?l==Mk +AnUIBB'j)=l=+8j?=)h_3C%[f!3(Dbb*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+8'Lr-'DbX$W +;,Z![(RZ$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=oA3pqtplXk"!!#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 +?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&X8?o8fE&'Lk1,?It*N/Iuf)/Mgp58 +It*?,JVnVoHapSsqYL*Xn*ff:naZ/>naZ,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'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'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, +!:3ls*/dh',-[UGPiI'TE"t,!!#\(&1Hl1li7"b +7Rht0!,l7QkZqNT#RZ=e!,;W>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+XXdXmf3=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]l56"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''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,qqYU8S7nNK1V +!!%!>!F#O(+iVF:]tN&#"aXZgl;:I0!!+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^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"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'[/pGGK:%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>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.!-/)@?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!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#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!-/&>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_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@MfD\?A4*, +s8W,qqYUhuEe% +!!#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 +mHsH'\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]YFLHrsTTOoPJML5)#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$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#srr2onqYUjR@8P+%(s8N#ss8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2rts8>M\D#aQ>2E/-WAa9#[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?'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!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*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]^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%WYoI;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(?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@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..BXqA) +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^ +EH:gn*1Hp.7Y$#Is8W,qqYL6ls8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU$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$[?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$XsH!+`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[?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?!-*ISu0f$!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`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\@;MMfD\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,qqYUTu?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,qqYUpSqqYL*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$&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[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_\'1 +s8W,qqYUu4DK<`e)W!*t#&U&Y/mqYL*grr2rts8W-!s8W-!s8W)trr2os +s8W!g961(5@66WdCi/P>!-*4,UAt8nqtp6"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%ugPhbH%:\!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+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-! +rr2onqYURM_Hru@q4U($%N!U9gD'HrVcTms8W)trr2or +s8W,urr2rts7uKfs8W+LJsQH;<'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#srr2onqYUkcX1)@!!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!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"s3gF3k,fD$1,W":/?:#\!c:B)hsM!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(`Rp1faE,bSgC@#)*gg"+@CMN6UDtd..h]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<+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 new file mode 100644 index 00000000000..de3d0820da2 Binary files /dev/null and b/Master/texmf-dist/doc/asymptote/examples/pixel.pdf differ 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= 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*offa1) + write("centerline: rows tr br ", rows, tr, br); + for(i=0; i<=divsx; ++i) { + int off; + + off=coff[i]; + if(off 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(tl1) { + 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; off0) { + 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)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 new file mode 100644 index 00000000000..9e50e47e7fc Binary files /dev/null and b/Master/texmf-dist/doc/bg5conv/bg5conv.pdf differ 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 + Alejandro Aguilar-Sierra + + + +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: + D-SCH: fallback search path: + 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: + 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 + + - 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 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 for + spotting this one. + + - Included the first contributed CS file: for codepage 866 with a Russian + sorting order. Thanks again to Andrei Grinkevitch . + + - Added the missing 'd' to the sort section of 88591lat.csf. Thanks to + Tim Geisler . + + - 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 for highlighting + this issue. + + - Reinstated the -W option (--wolfgang did work). Thanks to Thomas + Plagwitz for spotting this. + + - Fixed str_lookup() to work with a hash size > 32767. + + - Created new HISTORY file. + + +v3.70 29-Apr-1996 Niel Kempson + + 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{ +

+ } + + 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{ + % Comment begins with a percent sign + + ... + + } + + Each pair of characters defines that the upper case + equivalent of is *and* the lower case equivalent of + is . + + You cannot redefine the lower or upper case equivalent of an ASCII + character (code < 128), so all instances of and (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{ + % Comment begins with a percent sign + + ... + + } + + Each pair of characters defines that the lower case + equivalent of is . + + You cannot redefine the lower case equivalent of an ASCII character + (code < 128), so all instances of (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{ + % Comment begins with a percent sign + + ... + + } + + Each pair of characters defines that the upper case + case equivalent of is . + + You cannot redefine the upper case equivalent of an ASCII character + (code < 128), so all instances of (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{ + % Comment begins with a percent sign + % whitespace between the chars + - % a hyphen between the chars + _ % an underscore between the chars + ... + + } + + All characters on the same line are given the same sorting weight. + + The construct is used to denote that + all characters in the range to 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 is used to denote that all + characters in the range to should be given an + ascending set of sorting weights, starting with and ending + with . 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 +Alejandro Aguilar-Sierra 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 + Alejandro Aguilar-Sierra + + + +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: + D-SCH: fallback search path: + 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: + 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 + + - 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 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 for + spotting this one. + + - Included the first contributed CS file: for codepage 866 with a Russian + sorting order. Thanks again to Andrei Grinkevitch . + + - Added the missing 'd' to the sort section of 88591lat.csf. Thanks to + Tim Geisler . + + - 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 for highlighting + this issue. + + - Reinstated the -W option (--wolfgang did work). Thanks to Thomas + Plagwitz for spotting this. + + - Fixed str_lookup() to work with a hash size > 32767. + + - Created new HISTORY file. + + +v3.70 29-Apr-1996 Niel Kempson + + 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{ +
+ } + + 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{ + % Comment begins with a percent sign + + ... + + } + + Each pair of characters defines that the upper case + equivalent of is *and* the lower case equivalent of + is . + + You cannot redefine the lower or upper case equivalent of an ASCII + character (code < 128), so all instances of and (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{ + % Comment begins with a percent sign + + ... + + } + + Each pair of characters defines that the lower case + equivalent of is . + + You cannot redefine the lower case equivalent of an ASCII character + (code < 128), so all instances of (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{ + % Comment begins with a percent sign + + ... + + } + + Each pair of characters defines that the upper case + case equivalent of is . + + You cannot redefine the upper case equivalent of an ASCII character + (code < 128), so all instances of (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{ + % Comment begins with a percent sign + % whitespace between the chars + - % a hyphen between the chars + _ % an underscore between the chars + ... + + } + + All characters on the same line are given the same sorting weight. + + The construct is used to denote that + all characters in the range to 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 is used to denote that all + characters in the range to should be given an + ascending set of sorting weights, starting with and ending + with . 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 +Alejandro Aguilar-Sierra diff --git a/Master/texmf-dist/doc/cef5conv/cef5conv.pdf b/Master/texmf-dist/doc/cef5conv/cef5conv.pdf new file mode 100644 index 00000000000..f39953cde50 Binary files /dev/null and b/Master/texmf-dist/doc/cef5conv/cef5conv.pdf differ diff --git a/Master/texmf-dist/doc/cefconv/cefconv.pdf b/Master/texmf-dist/doc/cefconv/cefconv.pdf new file mode 100644 index 00000000000..5f415b64917 Binary files /dev/null and b/Master/texmf-dist/doc/cefconv/cefconv.pdf differ diff --git a/Master/texmf-dist/doc/cefsconv/cefsconv.pdf b/Master/texmf-dist/doc/cefsconv/cefsconv.pdf new file mode 100644 index 00000000000..92bf31f91ec Binary files /dev/null and b/Master/texmf-dist/doc/cefsconv/cefsconv.pdf differ diff --git a/Master/texmf-dist/doc/chktex/ChkTeX.pdf b/Master/texmf-dist/doc/chktex/ChkTeX.pdf new file mode 100644 index 00000000000..9bc5f24e639 Binary files /dev/null and b/Master/texmf-dist/doc/chktex/ChkTeX.pdf differ 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 ªˆ!‚Üœxf2©Ì”k­Í¦*΢ ‹kŠT‘Ðx¼¿~ûJ”d§âd."Þh »¿þŠ’8I¢ûˆ>ïù“Ä)þIÔߟ·üë}ôýâÛw2RIœeÑbiy4OóXÉhqý›¸þ\ïf&«õv6×i)þ=¸þÍehühÛ½mf¿/~ŠÞ.¢¿¶¹Šdë”6O²¸H§»´3•‰þ¶SF\ÅøÍÄêêax~W=Žg02Îu´t™Æ©ëMt;n+ãÒLÎœe±Ìh×_f*®ê®å“Xª8]ÎæÒä:·nçݪ4 ‡äB–ß°p²,ËÙ^y,ŒL ‰"áÈ©6âCëûŽ6\í+‚={|\LGe\’2ŠóÖR*6%-·ØÔ¨º2;[á)fÆ{ï°Q î„þ\ãˆ_>ð„;± =%\…†ëT±LiÍ·Ôlb££CÛ¯w3^Âwü½¹~ÇËT :¬úùäŠa뽯›Ú£¶ŸfE*à2S™ˆ¥Áu{ϳýÆqaÝ5M‡£±˜KÇy_Ö+H±vÖï{7|‡¾}—.F•qQÀÈ|¼—;•)dƒè›P÷í~N E×{«H`ûž ÝÞ7uë°"…%ÕnàÊ°ÍÐñ¨ +=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¶…œoqóáÄ2“³Ýv ÊÕsé¾á[ÈŽ·Æ¹ ×ps»®ÁÖÏîIËXaDØ„ì@›BtàÝ=oºÁßV}½óg;KÞùRIRg1`&#û3jú&þÑÐf •%¬2]hVöM”*ŒèÖ¯ô/%“¸ V WÁXóÑy‹ç{ѹ”1dq“93»½g‘ø¾@˜ÙR”šm?€XèX™©j—µïñ-¸Ì+q"œ@ SŸ|ÔÑ‹0a4òŠé¬;eòÆ ¬ÖÇÚoXá×츴&ïèm˜ Ë­î‹w}‹Šµ]pSŠ{>Ðö·…›—Õou*ƒ¤ +¢Î~»lmþ¨S=Š =–?¹|ã¸N¥ÉI`µ÷›©M㪯vïZLJðîx§ˆwuâë"T*Mgm‡M$AÁ¬JÑBè9„"CñŽF`b2oÄö7h $~}«Á…ígO";lž}0>™ ÷Q‡'KÑ"8kZ à—® ; 5x€4›Æ%ì 4&'çz†Æ¤Ã[y°¾°ÖÖNDXRPq¯t%qŠ®d¬¯¡²[@ÎMœ«©6Ùá!Tõ—Ýêew7Ë *+p|¾ÒKSÉ:öŸ¶•+ OKäfe“ŒÍ6)­¢q&y°RhE÷îÏ­¤v&—P#|‚¯}-„ª<–@‰U Êa™™MÂZŒ&/#)púâd&P¢ey][‘ëí†}ƒþåUwù_2óÊ4…à–œÜœm:â¥É~à&cÌZ­Ž+ƒÙº=y=íO€]éqº ˬ»Ö—^‘qV}`M¬0=HùnÀˆЙ{7£âñáÑ 4dDÙÑ©,jÇtÉ­z–Áæ±CeóÄ„ñyã»}»:ô„&bV1rZ->uÞ}®œï‡}ß» ¼oF¯3„Úz¸Á§>nhßz÷ˆS;ærJÔkne3Ô‡,Ãã… •À°Á÷ÎnyÄÆþ·ÅûÆ×;BphÜýÖñü?ÄÚìõþyùPŒÑ^‡!‹ÅüG¬Y€ŸnÞ¾ÿ¢®ˆ@OÆþ Äͧ÷\ÌßÚÝ‘b…þ`@T¦Û©É_’3aÿªžžà{X¸ÿû!‹®±E“B<¹€*N8*VaWþ‚ô0d\k®ÐÎÃ$Ó8¦K¹%ГëOXéö\Aý)âÆи±-µo\è¦ æ3Þ m>9,mý Út)vûaCN£²€£ +Xúth8J ƒ‚mwÜa¹ñp„˜cÓÕd®ã&V|½ÅÀ¨ û »ÁŠ}}_·á%'¹V@¬3±p@‹”0žÜ|‚غî‘ö¤°“QÀŒÌ2ž"pÁ ·Þ7Ä:²@I¡¿Ø-¸fh®ÛKÞ°qv…¤sL­qKN‹c´Ö:ßfétNà£V5„‘ÌïûÂÁ±È‡á•NÔƒc"à̓þ›ghÜ(#G­­úF«1õ@³º> ñ´<Û(9Ê}t:Ê +`Æ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?> +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‘ˆ°0hYUùñy[ ’k.ìݯßò½…›(Œ¢ÍnCÍ_6¾ýîƒÞa‘nn6Z…y¶¹6ÐèÍíÍ/Ayu­² ?NW×Ú˜àÓÍìè`ÛÃBTÇÖvW°cy¾îxãÎvv(™¯~½ýÛæý-ÜšD|ufÑfØÎü„$mâB…Qìò‹úu9cý€ŠT˜hwxum2|ìú¡-§ºªè9¹{ŽŽcÝíxé–Ž• +*Œ ôž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@º™l9 u[Oõ$ÄKö +dØgEdBñ™üЖÃãÈÛÈð³½H>.ò°È™)[6ª´/<}.0ý’Àâ(A¦~C`É"0c’à¯w*M®Lïø¾[L§W&p³ÞÆ7‚`$"‚(ÓüÛ†€ÄÓ{’$ø­&ža2B´Íd‡®tÜÅ1i¨c_sœ%gdÉ{ý·bɤ&8f[Ö±³_˜ršc‡¿m¿ðí؇Ê"×â8x×ÀÕÇÝžûï±&ØÀ«™ ``®ì¤óPÖô[Òú·¢ €à +óta1¿‚Áð 38u †™Vè©XCSa¸ÅÔ¼îÜzmóÀ}Vý,(·[wé©}$ð‚,Ø6lý $ù&˜,Ì/!òžó•#ƒ‹ìAô‰ +O„yÃ#ŽRÀþiÏó >äé7ñNœBˆNÐÐyÇÓPO“íøÄ{üťʼnlŸí°³È©$~´£w€"ƒG&* +Þ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ðA…OOµöQô)Z,)»?8‰L¶Î,cf¯@äC=Œ„sz×Ü3LiÔW"UŒ!ŽÓ<&¦v6#dZÝUõ¡‘¸­g¿;ó·ÏãdÛÿýX³›úú‚üOŒSx*$¤¨Ø1àÎýZp + 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òïÆç„šk” +ž@ò¤à=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ÃôØ?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ÄÊ÷.Þæ¡ ø¢™N”`âáÈ@¬ˆûÄÂ’¸!}É{Òh.K|Èp½ãÜgÁƒS‰;g¯Ô%‰Ç³Äig8Þ'¾8åöx +˘.õ€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ŽèÚÀ¯ÿŽÄôÕÅò4[Ê? z/gÆ}wÆÕÌqpçŠ`€éêŸÅô“ý€LðyU À¿UU•;qG‹–iåפ@ÎÕRnGJ…ô¾«àΊóP tæŒ9J¸õ‡ÿÏÅ( +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*$µ³²+ÿÝýøÔØëä"Mèç×ÝÐ&q¼yÜÐã«ÍŸî¾xo6¹ÈÓÍÝq£¤Èìf§á¡6wo¿‹Þ}*ªóÉ}¹ýþî¯_¼O‡… äf'µH,-<|,χcµÝ©£Ûÿˆ#åüè]× X‚ÛlÞÝñá±Ðø“Å›öqIùs&7‰JOXK’L茎Tb»ÓÊD_¹ÚµÅi»S2þÜÔ{wî;žõ6úp­ûâÍ~[œ˜èn›Å‘û–'ÎÛ,vû²8u3^gúRƒŒ6¦T*Rfê]±ßÊ,zÖŒ…Ýq•£@Y"Ѽ†¨‰íÛ•†¥ˆÕ&¦—÷÷Ý™˜âEãù:*÷‹Zwn]çj<åÇó ~tî\´Eïp–Eû¦ªH1øªo˜Ø?¹66ñ»û.HD’†%mùw­ wJ)!Éf"7sí,Ž’ò6/‰ +ÎôQá&—®«e:z£Á©eÍóç²âÑýýò ,áçËå!2F·æ÷¯ÀuuJ +½ÊªV¯LéŸ +ÏAwfˆo¢âÃŒ*GÚ±iY?Ij…’SýܲB6Ñð F®Õ #쬶ћå†Ú +“|†c §>pP€~ë²~ä˜ck’V®Ò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ãë•ÓÐ¥>ʪ<-CÏLÀØÐWšH2ƒëv2M…Ñ ‰$ËE,‚×Ä”j¹vy³… k[TFq]Ád6ÂdYJ°u>($§:Eå™üÓhÌ+OoJ»²ó%ˆgõÆJH0ŸDÁ%4ZÛ@N†¹qBLÙÖo˵•e2¢qYïK–Kf¹—Kæ1Ê…’ ߀øè½dr|‚ᓳA0 å‘ë÷TàÆ€».lìFqL@ÖzÄQqe!g¢´îèZE2oYqþ¾0¤ÜË©óX¤Úç®–s@ÁH(Ð$ôŽg§’*3,ŽLa»Â`Lè)ßyá;Fß[`ÌVäÌ Ìvï äs„äÞ1ÈÃ4‰LýK@ÙŽGcÁó‚Pà ⠓»k…O5'>±.*ǯI®<ì± ,O²{[­Z™€C\:/À¡„£s–ÎE[øöj,ç1tb&ELË“tŽH €†ç +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ÛSeQwñ%Í +O%^ešC߶/‘`£sñè0÷dpä…}×!¹ótäi~“l¹I +.®Òx1?_8y%‡‘¬uèØÔµq>1*LÊ£Ätö9¥h9•õoÌœRæBC©u0å¡-D”o3”Œä‹{ÇL;õW"2ι¤v0”¿:¶Þ‡`0k)âË_þ ~æË_‹å/øŠ‰º ðF‚¶é”ŠöÀë  mÄW…ã¶ìy0€]w/$¸YïŠÎžiÔ‚«²¦CõºÕFšgZ[o¤Œ„ÊÚ·H¯ªt`KÛEÑàúõÇKèÖFdfè¡ú~Ý>ñŠ V‹×§âõê*%qhÍîU×­€ +ý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«ÂŠ¥æ§?êßá­*ÂƸpêøHøѵ ¨²†/«† ”¾¬°2Þ`õÍê„1ð)Ò‰&)þðj ³+þÇj¾uÿ¹”mW”î;6 +s j©ÆºœúòÒ‹ð_iè=ã/‹$_½…½©˜_ùC€µÐyû»þÊ£æçß™\- Jrˆbþ®Ã† PcoáM®ñ?Š_½87³;[_@{àÜAÕñÍ<6t‰ÿÔ´=Ç <\0²â¯ûî9\­afÅgÑ>òõžÿ@COêNeURÏ„W5C]£a秲÷78tÁJA +pžÐZùÓéÊ›xÄÎÇìp£˜ñÕ:R¦µÊ¡;òå†Ýk¸c +NÚ†¢ ž½î¥["ü¤ö¾ì]"¸ÃªÝœdd«½LV‡q,ò‡ÿâ˜ÿâÿ/}Ð1^Ÿ°œ21u•Úš)Ç´êǼpâ–»h¤òµŽ3 â1xÏ•ÕÖrë1õÇ]ªÄìòù¹<„gÒÍ¥ci¾Ju)vlüîÉ•O¿˜é0€Ÿðÿ‹¿ ‡øf]ó#‹ñê†ÜC[6ÉGYÌÿ®È™'À +¯=þo‹Ö#/+xÊ÷•kÑ™ÄäéâHìMª…´Q¹ÈØ#”Žßý l†¿ +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‹™Ô2í¢$¹'½ØŸ*%Ë–ÇÛ‹¹X$-–ª¾*~Uň3Σcä?Òƒ3?–GÃñzå—£?|’‘,O£ÇCdrfU”¤–™,z|øwü¸³".žj·K”Ìbñû_»¦)Ú=Mëª týTu툮ìŽmõ› ¯=íàçu÷ŸÇ¿ýð)‹r–gø-©ã"âþ;û—ªß|'úø]‚J¦Ë>#™±QbÁí÷þÓ{—)Ó<~pc9T´´H³hqÊI âbåKG_#3“ƒì¿ÕDʦ—y}¾¡ØÙ °97,“^±¤$›Wº§Ì˜`òC5`¹‰Ë]Êã®îšŽ=ÎÝ.qYõHrÔ"'WL« çs¿KtWV‡×ª=ÂÄòxz®F\΃gh|è†ÒôFQ×´XúÏ"T ‰MB8€ì’¼[²4ž:|¢?Ahç'Õ±í·g»DK?Òwq=ôCÕbPL¤0È.è³2|­Ç¾ó6–§ÆÁ>O“’1Ú¥”ÆÍJ©ø©.Jü÷¿4¥0…Á×çjr4\>ìv y'š©œèÞä@ƒEè°b˜À[¸`ÀÖv¢‘kžoî÷`1»v§Ð†¥³? BmuÜtpü䉼Œ“tLJÙ{AÊ +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‡Ñƒ`â}Gê4˜Ì.„ŒZEÉžcIòŒr!ÁT@äâ{ÞèɪÅà*péÛI2M4× ‹”ey§=á ±Cv°R#¥éï€M çð\k˜6äô…çÐ"“b ØþU xųÈtí-i=}Ïîº6Iñ”ië'§´“t÷l¢àða‘HÍeˆ¤ÔžµéNS +‹??|"]— ‚Å[A%¬=GçVMÉÁ±Ù…šý=5{ĸè ýR6h+Ô-ˆ/Ñ‚†ErD´w¡JiÜôÜy½÷o)Mê{iëïþXƒ2åê|£ AiônÏ,ÄÂ"-uZPQ§1é`ž•²¡+ZÈ8TâÁœJ<­ÖN£ê„$® nDt¶Cˆ(+-˜©bú›·5þ1ÿWÉÛ ì©ˆó!šÈ–ÛeŽ}äÒÕ¢¢`õ#Z•ç9P>09bSÞçV³aÚJÄ +§( P¸îC ÔwÅ„‚öhƒ þë¿;vdú¼ì(Bu™¤À#ðÔ±àP³¼ƒ_É·"eVœi*52þ ‹b“…ø4ä’aœhBJA µ­ôð:ÒˆõòÒWú¹¦Ÿ°°ÃÔ ôû%¾iRªÙu¹œèŒ{ƒüSl 1â\?Ù!Yñ<®PgŽ¤Ôn =ÖHŸ&븞۾cÕ¶s pA(׊SD‹9h%õnvÕ»!É+îÑ»x±.Æi® +Ža ¡ÃgAÿg¤'e(”ö  øº–=C‡Ôûžsôý* ø ¤€‚ªÐnŒp¶K‘oeA¹¹åD.þ¹Â¦7Ñ‹òuí6Ý#ù¡jö}å\[B)ÝU(«)…ÝŠenWXÓÕ©Á¨ó2BÆjPÝ“j¥Ï½?NŽ®uCranב@çSI=_ù1™Æó ¦¢~èŽCÑ`d@–ypSø<ü…e ß±¯Æò4Žnÿ''…õ°‚dŸSB¨‹P„Üî2¨ó‹ UR¾V,»è¯é–Øƽoè‰öw/\hÊ}ÿrë¡: 1~ù[× 7“ã`ÿûξLÌ!ƒçn¨~ƒ6Ù7f"; ÃÌ8ΨƒAx?½_€ÈLœKU£ÒfKzT×”+ÌÞ€ª³zS[úú櫹)Ò<~qÃTQZÓ_+´h~Þq€T`¹>¤€ñR†ãdÉ«Ùoà·ï •!û¥üT³ô¾ +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¼ºøÃkCž/»2ÃPu§qý~H¯”0«†6¡uoj‘^þ1¤Ð¦(ªýŒð7ñ³ÐBjІI²Q‡4ò—ÿ¢j‰ +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“° Ëøy†º¤§Î]Î%ËH:_•EWì›-ÒqóAöÁ„ +"{æk…”¡Ñ÷ÚèºDAÊ8ìw;M“ D–§ƒ® Éî-m8Œp\ˆY’%YN²úª.$æ—h‰¢-°´´à¸s€YZDž‡7?Y t¨*Q…yZd"|‘¼˜È;Û×ÉSjD,-y*qäá>‘×t´´vˆçüþ¼(aãæ#.=€t‰–OªìŒÖÏ3±œx0ºmN¦|•4Ô¸D>ì¸s€òdŒ£Qˆ™=:H¢^‰VÑëÒ,sÒïvUküu[Ž|÷­@Ç../Æ=þúš8 ›o¢mîå,cQüÜËŠ%nkJ8WŠeùˆòZŸ»¿Iz¤eܺoöûÅøXÕÛk*xœ2áÉV{p(zž¡(žU`ôÃßÎ@¼¿¾«0ÄÑ^y˜‘÷¤¨7¼Phz´Uýâe£‰úbß6Ž[½É~¬ððÇ;™H2SŽ¸òº‰r6RÍ¡ØÖ–ÑzƒòU©{*ŽÂõº3'ý2¿˜^;MPΦŽp¼1µ ÉÑËž•¨Œ·§úø3·ËWn‡ÙœjÄSõH‰]Š³™=ù‰$ãÊ.N-ªÆŠZF ‹ò¡¬W>— ¾£FÄ$bÒ›@/ðIþÊ. U.R4´Oä)ÅפKóbtQ·¸Ü•  +ynWŸÉ÷tÙõ e¶Oðƒ•gñ×À£¬ÄÓ2æQX‚¡@ïÖâ‰ÜFM;Özà® @À­U?=¢\³™™{&⺅6IëÃÊnb%ò¥Û;ÏÞ~ÑÆÒKUñô†Ûà˜ÈÄ$eÊXa£9H6í@ÏXZgÒ¸hŸ6Иi°Š§7Tੇ…5ïOcÏÂj„çÎÁáNY´š@ k¯Î9K2Ÿw_¥³³GJ4 =pšéSµ¥²Qª¨·Ôþ'dÜÀúFo¡]j‘‹X8'þŸs"…Uœ÷¾ŒUÅÈ>¯K””%ž ïØ·ÑpmÛ³>‚.?ã#"Š1‡ B©Ë˜û*…;©K`Å©êrÚØß­¶g´;P¿l«ºðµŽïMs -¨@¨ÃlÚîgëåÇX¾×í{\Q`€kå¾:Ý#ÜÙ渹»£T{ª7tLHØlÒ9ãž5<)Ä%îáNKÉW—.—´hi<ÆþƉÝo_ÖÓÌPÄ쪙{5ÇSÂzZüyÊIëµbI)½â$%)#WÊyÅà*M<"áŒûBèî®9O"PÌû­M×™õ[Äp׋/‡'CØ<}q]Üì½Èên^Ê.ª/3È{rä7FSM蚆$l;ÈsðaWW¦2©ˆÒKi²ßOXãê fÂcß9b¥9s5ÃÕ“9¿|Ìb>u§L‰þ‘)þÿX¹ŠÍýË1t*t2”˜MF—v+ñ†ïLŽü‚J’ cwo„àlô·ñmAc,\0ŠBH¬ ²¤ß>1F:©ÂÛÆ¢°¥\G!ñ°`(OJŒr8€P^øß9ø 94ÇÖP0IL|Í‚ý;䟱?„Ș`¢Ïº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š¢vqhqd±–H•¤Öëýï=—Þ$k$/â\Îœ9s®ßQ‰( +ú|ÇŸ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É°&”™Ý›ÏÅþ°³' 7‰Æ"$E· uŠçTáV®d¸Ò:»)žQŽ‚6¥7#§³Îº'^G}¯0ÿ`M=d¿¿ï‹Ý¯‡róª¬Ôoa¸FC%¢Ê­ºLˆÍæÊÂÄ._}Åïî^Ö ©CsãÛãC?îÜÙÏ̇qô„Ï»¿6uok¬†(Û=h­êø”ÿS&4üfT(2æy²è™×®iž‹]õdg̺¾Z?½ð‘³@P“¯¿þ߬ÁüMÝ«Š"„:ܾJn_¿µd÷±“õâ¿­—…|‡ß76³xÛÐÇ$g›ÙÀëX¸›L +x9†3M†‡—§«N ecƒB²ìk “³¯š·èù[Ç3‡!ÃÉôRðóÃÙ¾áV6m •™´†Š‹D.ˆÞñBáÖ[[> +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ŒóúIt,ú‰¢óCôaÑ ÓͱYZìÁªx„½E¿(ÃBÛ"!q‘ÀËXE`YÞÐ2µ_•Å=ÍÔúÏc^k'fG-h\ëñ‘}ñ”g…-]·îÆœ=Fˇ욢6Å+†f™mØ8ÀꜽϷ 7 +ý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¬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úi{ž +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†…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Õõí µ´ïî¾ïp³D{[ä'/¬›1áÓAsÓŸ*O<¸„µ çui&RÊÆü‘$d÷²´ËÁ–uŸíˆÍŒ±_m×7@ÛnÆÓ8|úô p5ךřãê8rd}ó˜Z,‘x4S{ð§^îs”#+…¦¥jɬ*ÂÄôÅ´DfUÂÝÁNxff‡›M÷Iñª¨*<Ëî@º¡·Ñסõ™ª=:ÐÂá¹N˜J0k¼ð&2KÑnÂ9ü8›!_,þ¨‰ÔXLºêÀ6>]Oj@º¥6§ðìI> +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±å™).V¯¯ßÖßûÚ^ ‚ÀÛzôùÞûn}ùÊx‰H¬·¾õ”qä­4|”·~ñ›ÿ"o³¦8tE]=»x·þáò•[%Tâ´n½ËyÚŽÓa""ë¦é6o‹?òSZ ­Üš¬ÞïÓjs±’Vúí¾‘Ÿgŵ4QÞòh§PcSÃ7ö³~ŸW°®û’V„þa‡Ý‡¶ÈÒÒ¤NTã$ƒõðV¡Œ„‰áŠÄ­ŒÔþ]±évØ4>XtMŸ÷wy±ÝuÜŽ…qS覗k¾ÉÐø^³=ù•¯¹ôœCÇ{XÄ*kJ°’é—¾;’ü4T„QèŒyûPuéýÂf•ˆXÏs`ùóû0ruêVÚÅsUºwÑüåÅ«ICíÝy¡v9Ž…5ÞÞCìJï-h4³2?ß¼Ï/Lèg äM_ xaDÏmËp>ĸDÿßæJ Q››ëNÌÅQÅʼ(2¼§ióà,B=#ÊHc>ð¥áà±3VÚè$u’ø{¾w›êM€Çßü¾h;º³ØCWОn´±þû<ëx&kò´CÅÎ]éD»U &sT©oÞ/Bc„’_#¦jÆCƒÐœ»ä  ÜÖeY#bÜ1¸èÄ/Aò¦JËòÇ69XÔ£˜É„öÙÒ—F$ƒ3¯]Ó²Þ.ÊNˆezPöD‚rL3Ì¥öt· +…ŠÿÉ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þÌæúº=5LË?›ÛgÌo°&ƒ¹Ú? ©Üùæþ^þ”ßwLpi͈ÔýöÛ¿>Ÿî¨(AcÝQLwÖ;¨›Áxt b=Ayô ‡:OZG‘×Nëý¦Ú">‰P­@Ž”„Öþ¶Èñ¹þ£)®‘È&h +æ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‘ ?ŠhU¸8›N˜±K­ÝÓ ¤PZmû2mxJQÊ-—Âè8 + í«§ÿ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û›Àka ÄptÇ£eoL•vÉäTè¸ä?¦rìä˜Ë1É ¶¶ÞçC};fvEj_ûoë½kw8 Å“UŠÿ7suÛöWΩàQ<³Á+þ¯ w'Žø|ñ7Ï"Ô¶ +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­Œ-¹’¼_®.³ÐòŒ}´ë]œÎ­ å¥ÛJžJÉSddJAšOñ5ã8¡¸3ŠÁ +<7Ãs¥V`Rµüve…“e)ú +{«¤Öac·¶±ÕíÂïS[Vw<<`œJ‘›'‘IDæÝRV‹¯'û§E¦B¸”ŽUønËê 58_Ž D‡àDeïÑ™¾bróÂ9 Ë0aG(a·R + µßóhp¿ò»Ý’­Î"éåA·¹/›íá ÿ0ðKøjísUô® ׶eùŠ8»©É”õéÃ*ð¸¬\W±ØzTmâ$õIŸ kUÞ îÿ4,aIø qðá}Û>_Ɇ+&RÌ£D¢úB±Ô&rmâ°=²_×%:a]`­á%Å~_ãXÒ<,*Þ1‰0 +(má÷–|fÞ®n¨.à@$ µx°)ÛãÞe¿qgúŒ àŒ3‚°¿ïÊ㣪pï¢@·,ëvM}ºÛÕ§ÎÓb})dËB¹ò ¶5ÝÖà(Þ©—XpW2|y®X#4ÈÖhl&º!âꌶźÜšé¦”7ÿ+³î&¥Iî°sw{mïÊêÑÕ×+;œÔ '¾¶ÅÝŽO˜ ,*ûJ›Óãà TBZÚL•‰E¤ÜòŸæªÇ±Ðú{õÇHÈ䊫žD~ë³ÆJäí%2ºÛçÜ>Ž=®ðCúœó[0daÐ\JHÜXoy¦àÏ›E&Á¦ƒË¶Äc,~”ù04l*+:ü… +j¤¡Ét¶) úÄBlNk;–º¢K“”¨¶rëÏ]ŠU\fWø4ò‹Ð g|ADž4ÙjsITîT÷ëHr· wHèѤ§öÕIA3ZÇîDõIé$,¹&Ô<Ç€Á'”Î=~åçG$•kH'u΄|"/ÜÊ+ŠŽ·ñvønnË®)š§qua¸ï]WrEZɈ)À!¿c„òŽ:µö_š|êKÂI>äÌ)ÐSý5Æ +º9ÅÙÈ#`ñ‰7Z\³„X ½ÈeA~Εd¬0ûG%_¾Àå*´%ñ?CÞ—˜(ÑEÏd)òoy&5SÏ°^âz ¶hÝoÅràHeCM¥=ãIº˜³…®—Ãí´k¥8]nÏ«xUçã ?CÖrGb\Iæ<-“œP ')35¯ØÛGdj‰¡ú‚ÅU„·B_Æ‘9ô=FðÒˆðlˆ›F¸@ E¤{Á>øýg"ul©Ì"‰Âõ%‡'ý‚¨&’nÐØN%&ïžÐl<þžm1"ï•ÇˆûØÖ=:¤Â.4îêt2¤>¸ÊíÀo=¡V¼@xçåõ `@¤Ûxà¯xÄò2ò²É¥<¡œˆò;J~øR…^ȼëx-~§üŽ³oîiýsBW¨¤÷™ª$cYËy¯²ÐçCQUuw©×õ1cW&Jd“ç×Î<×Î<õ,䨗DãÂI3›SÃÔ &;¯fÂEiÛ¨k‚ÇR‡ï*žª]iÀóˆZ7›öB+riwv9­O̱ P<¸å×>{_Ö§öì0hkW=o¢þ_ v»tMBCè¦ÿ±˜÷5åÕªÂÕ¦9Ÿ<¯X-‹ãº×WÄE¡Ô¶õ„òcPÌ%Á©aF:Ú9 ¾‚àçéÀ‚ ¼Ëç×_ºUã®áØ%®+ª+øzX\9ó‡×ƒûÐsyl®Íãøy„ÄIBùP˸ÊÆ‘K«þÁ¬­ +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 ¥íª|#ÒðÎyKÝäØö51½AúoûÍV©ð9 Dïzó¾Ü’_8D#aäN1hkO¶ºF)ü*mLAKÒkÛÍVèðPæÃHýP·ëPð8c*Yãâš’Åc Ùú4DK°L/£öâœ×]e®r†»„Ø‚8Ì×É©[×}Zß9,3ôaÙ3/—§ ¦ŠOØfKî6š‡æ<»a…}ÞØc»ïôuŽéEuò Ï~¾Pf¯(ÁÒ ôe1Kå”…[™¤c`È– Ãmi‰n!ʤ¶ “W4sÁ!V²o¶ µG¢åý¾zGK`1}™W|ª=&€QnËÞ%gØ7pÏ;Z”Í¡:ht&'AD[ ”„Æšxö‹Ã;§kÎÔ¬ÀJpÁwÛŠ)L{oÙI›« +•W˜ª¤3Öó@Ù4s>€Ñ\ø»ê„B0]ö¦Ï;¸¯¥d/ëüÆŒó#T2^ÆÉ ¯§È‹ö5ƒ–¶Íè)¢%ª—$Ãwížý‡¼]¡¶€*ŒµÏ[NéøÌÜ”ËÞ1_ÓpU#_Fq‘‚æä¡8¾GuSê]!vÂÔˆC¿QQx‘£ktŽÙˆŒ?]C†–Lp‚ ýÍ@ÏY”|á³ 4eœOx¿–#Ñc^ŒqÕ.cG¹§Y88ϯÏr‡E§À¬ïºªtù‰õæ² &¶£8”ëTbßbh²Ìü )8ä8f(¡¬°˜¹ +íioÍ?'Ó` ž Ñá£ö¸ì!¯Ê憬PŠ3³ ÚÔÛá®4ô°ªrIéJ„xHPeó±Üà`ßÎBª”hi:©WÅæhzÓü’Ñ–“Õ°ç@ƇÌÃ…3áŒ;éhR`ê.[ÃuÎp­µ|<ÞÚÜ È· +Z¬¦îM—%å脳)v®(|}: þ[¢­%%Kî ”‡XfìJc¬oÚ1Åö|fôþé;£WíÜÝK^Ž4¶} ö#šÂab0ç:‡.}ÕУe]>¸•ONüØÇ'ÔÓ¡ `TÞšggÌ5¿'˜ßüôí0*³”ɱý‹ï£1×Lʇ¨iŠÏ‚è–¿òÍñg•.Ä(–È/áÞˆjæ~Ü‹çZ¹÷8KÓéü}¸§¸'²:/uqKK8É}ëÅ9Öù±¬k3ÖT”á{tQS¾pÝ{Xk|8LÕ¿²4ÕóM¿Ú(¢‘Ó¿ ØÎߤ¢a/4¬?…5fÖÉdÈ\Ï@:T­Þ-J­Ð›Þ7jìIhñî¶:xàrÉ=PµèË÷q{âùP’Y ©¡Í¼™^Xj„Ž¦ T„SãMr箯›ùp Öd¡V( ' A²NGJâ,¦Y>ò”ÖžÆ=\ÇÈû†ìyµ±Ö_5’ÞÏÀ·x•ÂÊ!!èBצ¡—8Ùîý{a¯½mO•GÁ®o÷ù~üoº€[3{cz ÆÎVXZ0²2ËSSÇ‘rFgøasAið¹=ŒcK€ïMþ÷ÿˆ·føtUjþwÞÿœqîï‡`’C+ +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—ÇnW Z‡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¯×õÀ ¢»ð| òñ1+<`·G¸Ù@¼„}yº)]¥Ã2™iT7’s[!B.2 ,ܟƹ„å¶&PͪØY}\hPÛuö'8¤Œ×lojki¯ÝÙÑÉÐhíÍ,2;PÙP£Gµ´tGTJ8€JAL*_£‘—OpÁûÔAys„„¡éêà‚y¨×eU´wžÆ½bAÃæÐÕ䡇o>Z%ø&ÀWfSÜ3…¯ÏÃGÖ)<½4<ýýÏßN™‰ 'N ³ymM¨Ú¥ÎáóÏÅþ¸³'ŒÁa"@1g†SÁx×íª,vÿ,–Z¨ø¸Þ<Æ™ÆBãÆ·4p’É𞆿6…V=¤” âÍ'v[V÷aN‘*–äweÎëÞÍ wj˜.q'´/Ü 3¨î9’'¨ =yiÀDäÉïAžæ"yrÉ8 <ƒ¤L O1g|8ΦoãÎKq5‚†%w"Ïëóä -Ž¸LžÐVÈ°ÿ«ä™šy“'̈<Ót^¯SMä *Hž.„ØÌ(>®`®ïT™ÈSe2T)oh"yâ<'.NÈ3Ë=y:ScòDƒ#ÛXçQçØ57®z¢µê´NQs 5¸/A05ÇK“$ž¶¦aÈ”£-¢PX ´…eŸ¶xÚr"·ñH +œÆV6–v„¥zÂ’†`iKÏ KŸ!,Ã'µ¨ÏÔ F’Âõk ’”ÔC¥‡ÿ©ÒŸÂUýtBXZaQ7€ƒ',˜Mà+×èøÒ–ìáGXÜ'ŽDt#Žåžc{O“ +úìâòŽÐ/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ˆ— ü‘ÍÁ ÒæäÓÈøeŒƒ6œ £âÃ…wûÃX· +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ïÞ¶‹LJûð`þä +Å ”Õ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Ù±_ôÇÃÎOîë>pݻՇ÷ï.˜Æh“>¼yÇ‹Óû‘ÑV{P„ø veyF»J (g×­ùæ@’ۧ͹Ê-R"霟›!û²rmÈ>ÒsyàÃç~!µ.±\¯²:¯}» ¬hÚ× ˆ-ÏUBK»þ‘ q½<"IdYŠ +ì‹Êe=½_Oïÿ´<ÞçòÒÐm"HMø¹g€^fX-´{п–'='ªsF2ö<™(L€¤í(ôö@0ÂÈ‘P{?ƒyN¨Î(C‡Ñ@®-#%âhG£€81ú9³ªQØ1K°•Mžúc eÿO F6+ãäFFq×ÌjS#1;ã˜ñêgd¯-ú@ac80B«yß2î/u®&ZéÜÄB'¨4¨L"Py šÖã·ÕøŒã©ÂO´‘ŠÀ9 +ÂPµC,I¤XY‘àûWDŽÊ <ù¸Gu€Ed°Â‚βf×ÄÎLœ¸Zt®?`­‡0‘uK ”`;Öž1"¶Ê3ôàºÜRVŽÀ’]C¨óÌÒl%‹Ç®su%óº%ÔËmµ‚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è´ûÛ®Ýã,å> +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*ØØvåU’q1 ÕE~>G¾;CPé¥9¨:H‡«fU]<ÚC¨#OÏmΩ6çT›ù‘°SÕÄŸèëŸÿ߬ Ãy† AÍêS×B ˜^Ñ°¤4\g/mX«½üY.rÎUÒdY€ˆìú)ž³FÆÖsܺ ”=Óº„ɱu!q.Öxj$î±î!ÃܺÜ%ªËxNôQÀñ FCNõºJ.)Û._5*¥ÝŸó™ Ý6JûÊùPN€Ð¯€àòÖ}^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)ùÙÈ\££Ç¨ÐH ¨‰Ñ6Jáa ‰~>!ýÓÒ«<1 }‘%™¾Rz lÉSéÍ[¥?‘ćÊß[z‘(¤)ŠD_{ù9Nv*~öfñgÒn#)ÞÐûŠ/ÁÂð-uåíK |Joß*ý‰´ ¾QbÞU|‘%…ÅIdz¥øð¥OåÏß,ÿ\\¿P‰’ï,‘X?Ï“Ô\'¾JU"Ï"_ñfñçÒn#Á@\ú®Š²öô(ûÜQ‘&)¤Hò H‡>P.ÞFY(ÍLÒãÀ;жzJØêw¡ŠO ï@¼%˧´ÃÀ;ÐS4ÓK^¦ýjü¤1ì¢É$GO49¸&{QšÜ,´2ñç®Üoܪg¨ãaTÿ¼ƒÍ}ÓHÂ5ÂÚÄFe`¹Žë@†z³r×s«¯Wƒkw~ºiýÐRó“íÖ“!Gý¬Úõë¶Û–Çíå®âI·-jb|é–ƒ V3·[Á!¼G©xUîË{׸Á0GÁη٠tA+¥ýÕW·¯Ö[^3 O€j„_’Ìtv¾õ÷#•IÒ"Üà+!¨ë±«Á^³nÁM¼þº$`iˆÑD+Ñ ÊøÑ lé¸oðf®xªænçx-lëjnì ,·}ïÓœ_Óo€Ç,~Ü1 7a3¸z¯¡Ùi(’¹Mäó3Eõ’Ü Ð4‘v¶ì=3 +lÔõ,äPŽ?¢t%[ýÕle«< Ñb”ä”ýgB"ÜÇëS4\¬ Æ€®…ôàšêò<*À R=£{ë'-^Ì¢îY™ÙÆ1SS(\EøZw ©¾ÿñÓgn‰Ù¦Æ œ« “žÊDPÁ2TW@:µ²§â;Ÿ|QBǺ˜íƒìF˜¶±@ +œŽ( õ%aSb‘~"¾? ²y'3qšÃl’ãe…%”ñÀò|6ÃRš^#Ætöñb·"®êuyh¼×ßš,R/bÏ|¸úxé4<ø/Ovuß6ç8Œ¨¿"M«½ãvßzB~îÞÐŽä'ÊQl®ZÄå~ß8r<-‰)ú’céc°ÐäIô-«ÊñµLw ÊÏi¤‰öHhg*L vŽdü…ÌáÆWy†Nwwý¾^¹²9µM Õ­+¥…µi|KhªóÖÉ9v"ª¯!áöŒÐ¾vÔ6xJÇê°õE ÷5g°膰`õÈéxíXà> Úý¦lÖgxøzÐnµ-¼šáHRsσè|gV˜j¹eÓ –a¯G­š,¾÷&ƒã*?šÉ!üq„„x]?p'Ü*6wüõZ1Ù±¢ÆΦô£%ÓÞwŽ.šË9xt•zÆøÂ$TËà³r¾VöUÏŽQ÷°iž‰y•žT°¨ç¢ à‚IÅaés6„Ï{Ùe6ÄÚVËí´úÙäöÎÔ¡fÂÎXA ‚ÔXÿƒÿÕOõŒ3æô­®.«0æ·ù¸ƒÍÊö¾Ò¾¬‚oÉŠ£Ï¯1š<Ý „ˆüî–>öb~jiŒ]8µâ?£f†. þGÀªyèêý©ê¤ÆÎóíùv¨œg?üPW®üØ>’™‡#š+ôOþ·ã¯ÛUÞ¿°/ý Ž/8búH#…á7øQ/É1œÂ­-ÏD«D¾†KüvvAÊ¿YL-‘µ­ÆG Ç%”×àÉÙ,ary<ÀSW¡1EÜÈ|T€˜ú/PLÑ?Ia×ÌßöÿËò° +Îvï;N×\¯Ã|½¨Æg‹òD lsÜæ×37‰WP﫳°)S´ô™‡*)ÙúGýK;¸=¼ïkØ:¦",ÖFºUx˜êê_®ã·(Õ!s †F ²A(û'Ä@ð¯S@µ¡¨ž)¡®êz æúÜuUöôDê튲¥c˜Mþ{˜šë6¤$ì)¸w¼1¨†Î¸ñ¥^ÓÒåàr~{IÍñÌ•§^¬4@”Ú²²…5¾€À—oŠäáoÒßü„­] +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 +ÿØÿàJFIFÿÛC  !"$"$ÿÛCÿÀÍ–"ÿÄ ÿÄR  +!1AQaq"5R¡Ò27Sc‘’•±³´Vb„²$34BDTtƒ…Á#rsð%CFdÑáñÿÄÿÄ#!1Q"2A#ÿÚ ?ØXž!A…ÐÉ]‰ÖÓQREn’z‰[l¹]Î ’yL¾>ä_×L¹õ¤>ÒŽxK‹ìK0ð߉‰bæÆzŠl!²°7ŸÙõ×-ýi´º3îE<3¦\?êûK˜FèGŠq +ÿ +û!³x õ’ å—~³‡ÚFã%Ã/Ÿõ(}¥† ˆÙ·µ½it´ßEG N͵ã¾K½¼nËÿYCí.Œë“O Û€}c´±c!$_vãÖ”G‹÷(P@Ù³daÇ9åÁþ§´‡ÙõÓ-ýi´°ËéÉ!%}=ÀüÊ~ØÞ>ä_×L¹õ¤>Ò>ä_×L¹õ¤>ÒÂ-ƒ¬"É $ JŸ…}†Æï9ÿ"9Û-ýi´žð¼Bƒ¡Ž¿ ®¦®¤–ýôò¶HßbA³šH6 ŽðWΙ#q ²<ñ!ØÖLç€öþQq~º™Oû¥Î–-tœR¶Fݦá°+ï A}Šãâ×þø˜–5cmo%lßá½±¬t‡üDKˆˆ7â´áýJ°Œ±>æëÒ8îíNˆá…£‚0f–ÓH;LÆéÊåi¢G [¤hx/Jº¸¨aé$ÕÖát¹R-bùgŽËžðÐ8Ý7×b,’œËO37yñQ\g©®vë]¸ÏDsNxn‰3m\±êR!œ«§ ¥‘Íî• +ÄÁ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èÞëéºdc%3gJS«¼'hãn‰I³$Üê<•Q³úŽŸ¨éI2vž¡Õóó+ëmãÙus§ƒrXÃe :w€ÿuEl÷šš©õó0¶GºÂGõ´?a¿Ê·ñ¤µ£Î„»dÆXK¼]š-tͽƿ"K;÷ýÏZØqÐ×Z,M”Ÿgœ`¿¤ˆ¨ÕC|£¼l¤ùZH@ôÚ©/£Hå?77¸ †Sós{‚ +„ŒÛ÷¤Æ¿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"!Œ1­f€ ʬÎØ.7SUV:©ñÐGº*zgîÈ÷nŸ)ÎkŽ¨txÉ79 N!I5•«(âÖM¢$ žùî«LÙ†Cƒ±ì Æö¸p,·ïà®`Ž’ŒDÁkkaÄ•Ví:”5‘A.ket•$ß@ç¸ïÝf¦ñ­d9ÜÙA`}¶¹ÁyÊâ-tbu²ãÅíÔºÕgšBIÞãÈ÷©VAþvóö¨Ôí¡I²óÐ÷ŸµRjÄÍ”üÜÞà‚OÍÍî%–6øÝí“ãMëè>þ5—©£-bÔ»tÙf0?è}ük02À'âýJH〴²‚n“€¶J"6 +þb潬Ž]JäÊyƒ“/aáõQ¶¡±2"Ãî÷¬Ì©8ÝrN˜qt31ì$nðêÕ'6?‘8ùž95ö_%‡POm”kX£h°£#,4Rê:ŽŸd·òOÎÛª³nQTK„ÆáÒð-.¹SkÆz3ü÷+œ[Îcb2ê:Iwîóf¸ð·W5dæ¼Ñˆ²ŽZzØhãa}àü™ÅÇCÁ×Ç^J!”qê¸e’€åŠ¹°àZØæ‹Fµ¶±.·jSŽb0tà?ÑÊÂíÆIå3–£®ö*²Šª:®NÚ²_…Ï6'6’ºh$’ÖâòyÄÍ’F!—³Q±:jw’i¦¶=¡záXµ_æÒÜ»†SUÕ5Å­ŠF9£t[W;å'N¥é–)sñƒ`Ž0œIb¾ãb ¯×R®©’nÙaâõN‡ ©¬ÿ†Ç>Ç°\*5ãòãÒA,Ñ6.‰¥¢Æ÷½Š°öT(²¬Ìk¬ú‡ÀùEýWUµÐ7N?6‹£ÄÇÖÌó_èg’ðNñgÝqî³Rõ˜h“¼Àã’’Ë1ku*U³÷o¾u¸ý¥Cªmcª—lç…?üÇøŠ¦UÑhúiL§ææ÷Ê~nopA ¸Õ·sm•c$|GßƲôd‘r¡Û¿½V3þGßƲìoCb´bð¬…1ûŒ]»ÍŽ¸Ñ‡v+´T÷†B :'ÚßýF0¹îäŸP)†‚Eø)¦OÁ&ÆpÌZ¸JèXïÛp°ÿáCT‰Ç¦‘=ÈX“qŒ“†âp‡tsB[n`5ŃåÑ#θwç'Ãtl ®“ì »»*¡Ãª4ª¡ž¢ +ˆù±ý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¢‡G IdllåÄ€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Ò.å’¥PêYN„[>ËXäЉ±9÷Ä5¼{n¦ù“Âò>Y“¨ÖB )ài»¥!×Ú¼1œÃ„å\âŒÍ…¡¤¶6‘¾óÔ;{yqU U[Ÿ³‹36:öÇ…ÑÉüš“{{p°“Æú”ÌxœÝˆË‘AP¯i54›*~%W4Äæ®el®a±ßq±ÞYõu*·Ï™Šš¡S>æfßNð­/ ÍCYn·«ªdc¦àØÝFœ®@T@Ѻ WQ*Tr2~Rm–%Ò#{€­Ã^Ðx˜¤¸ùŠy¥Í¸eƒkÄgЛÈÿéT$žËÌñãd øÓ.zƒMŸ ‘ÈÇ=JI‘šYQOÝgºzº˜ D°‘ÃuêòØýLÕx] ED†I_wvyÔòxUÃSPe?77¸ †Sós{‚ D û~¸Ù.4GÄ}ük!bxýíúYH÷-ëíZ·Â‚Y!Øfa’'–<~Mb;jb H\\Iq%Ünotü^£bÌ[Ä1'(”†rÆhÐ;oç~Úhº¸x+±ÉQÐíE“Ž_Å«ð‹z›kßœq6KHæÝÎèµcœt&܇XRÌ32ÓVHßÈæ„Ž6k°ýŸgŠÎNìµ»Wµ%ME<½$Ë›¨Üu”®†,ÒJ‹klµ‘a•˜YŽ榔<¾# Ð7ʯŠ‹TbߚᎳk¤‚Cv=î6c½:Ç_Ä1Ã>¿é³Ù];>Ã>¿é³ÙSò"7Ej9¡ª²¿GØgÃ×ý6{(~ðχ¯úlöTnƒtVÀðÕt†8«ô†ÿxÄ>›=”apáý¢¿é³ÙFè‡$ÊØ7ÊÕ ·‰º±Ž@ÃöŠÿ¦Ïe0ßïÿMžÊ7Ah¯ ºó“{+d 7ûÅÓg²‡ˆoÃ×ý6{(ÝȯY}Ñ{.Xc áÃûEÓg²»âýâ¿é³ÙFè•$WaÆöW~ŵÁhkþñÊ(2éÿMžÊŸìë nÚz(LŽŽ2l^Aq»‰äZ¬¤šè¬šfÊ~nopA* aÍ¿R e à¢y·üâÂ-u,\-iâ9&AÞq;ž¤O>/Ô®NŠ?D.t1ú!Sž |_©>/Ô®>†?D!ÐÇè„Nxñ~¤<@ø¿R¸úý‡C¢9âÅúñâýJãècôB ~ˆ@çˆêCÄ‹õ+¡Ñt1ú!Sž |_©>/Ô®>†?D!ÐÇè„Nxñ~¤<@ø¿R¸úý‡C¢:2ìz“Ž’¿&®Üàz•¥ÐÇè„l,&“òzpËrA8n ÿÙ +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 +ÿØÿàJFIFÿÛC  !"$"$ÿÛCÿÀÍ–"ÿÄ ÿÄR  +!1AQaq"5R¡Ò27Sc‘’•±³´Vb„²$34BDTtƒ…Á#rsð%CFdÑáñÿÄÿÄ#!1Q"2A#ÿÚ ?ØXž!A…ÐÉ]‰ÖÓQREn’z‰[l¹]Î ’yL¾>ä_×L¹õ¤>ÒŽxK‹ìK0ð߉‰bæÆzŠl!²°7ŸÙõ×-ýi´º3îE<3¦\?êûK˜FèGŠq +ÿ +û!³x õ’ å—~³‡ÚFã%Ã/Ÿõ(}¥† ˆÙ·µ½it´ßEG N͵ã¾K½¼nËÿYCí.Œë“O Û€}c´±c!$_vãÖ”G‹÷(P@Ù³daÇ9åÁþ§´‡ÙõÓ-ýi´°ËéÉ!%}=ÀüÊ~ØÞ>ä_×L¹õ¤>Ò>ä_×L¹õ¤>ÒÂ-ƒ¬"É $ JŸ…}†Æï9ÿ"9Û-ýi´žð¼Bƒ¡Ž¿ ®¦®¤–ýôò¶HßbA³šH6 ŽðWΙ#q ²<ñ!ØÖLç€öþQq~º™Oû¥Î–-tœR¶Fݦá°+ï A}Šãâ×þø˜–5cmo%lßá½±¬t‡üDKˆˆ7â´áýJ°Œ±>æëÒ8îíNˆá…£‚0f–ÓH;LÆéÊåi¢G [¤hx/Jº¸¨aé$ÕÖát¹R-bùgŽËžðÐ8Ý7×b,’œËO37yñQ\g©®vë]¸ÏDsNxn‰3m\±êR!œ«§ ¥‘Íî• +ÄÁ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èÞëéºdc%3gJS«¼'hãn‰I³$Üê<•Q³úŽŸ¨éI2vž¡Õóó+ëmãÙus§ƒrXÃe :w€ÿuEl÷šš©õó0¶GºÂGõ´?a¿Ê·ñ¤µ£Î„»dÆXK¼]š-tͽƿ"K;÷ýÏZØqÐ×Z,M”Ÿgœ`¿¤ˆ¨ÕC|£¼l¤ùZH@ôÚ©/£Hå?77¸ †Sós{‚ +„ŒÛ÷¤Æ¿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"!Œ1­f€ ʬÎØ.7SUV:©ñÐGº*zgîÈ÷nŸ)ÎkŽ¨txÉ79 N!I5•«(âÖM¢$ žùî«LÙ†Cƒ±ì Æö¸p,·ïà®`Ž’ŒDÁkkaÄ•Ví:”5‘A.ket•$ß@ç¸ïÝf¦ñ­d9ÜÙA`}¶¹ÁyÊâ-tbu²ãÅíÔºÕgšBIÞãÈ÷©VAþvóö¨Ôí¡I²óÐ÷ŸµRjÄÍ”üÜÞà‚OÍÍî%–6øÝí“ãMëè>þ5—©£-bÔ»tÙf0?è}ük02À'âýJH〴²‚n“€¶J"6 +þb潬Ž]JäÊyƒ“/aáõQ¶¡±2"Ãî÷¬Ì©8ÝrN˜qt31ì$nðêÕ'6?‘8ùž95ö_%‡POm”kX£h°£#,4Rê:ŽŸd·òOÎÛª³nQTK„ÆáÒð-.¹SkÆz3ü÷+œ[Îcb2ê:Iwîóf¸ð·W5dæ¼Ñˆ²ŽZzØhãa}àü™ÅÇCÁ×Ç^J!”qê¸e’€åŠ¹°àZØæ‹Fµ¶±.·jSŽb0tà?ÑÊÂíÆIå3–£®ö*²Šª:®NÚ²_…Ï6'6’ºh$’ÖâòyÄÍ’F!—³Q±:jw’i¦¶=¡záXµ_æÒÜ»†SUÕ5Å­ŠF9£t[W;å'N¥é–)sñƒ`Ž0œIb¾ãb ¯×R®©’nÙaâõN‡ ©¬ÿ†Ç>Ç°\*5ãòãÒA,Ñ6.‰¥¢Æ÷½Š°öT(²¬Ìk¬ú‡ÀùEýWUµÐ7N?6‹£ÄÇÖÌó_èg’ðNñgÝqî³Rõ˜h“¼Àã’’Ë1ku*U³÷o¾u¸ý¥Cªmcª—lç…?üÇøŠ¦UÑhúiL§ææ÷Ê~nopA ¸Õ·sm•c$|GßƲôd‘r¡Û¿½V3þGßƲìoCb´bð¬…1ûŒ]»ÍŽ¸Ñ‡v+´T÷†B :'ÚßýF0¹îäŸP)†‚Eø)¦OÁ&ÆpÌZ¸JèXïÛp°ÿáCT‰Ç¦‘=ÈX“qŒ“†âp‡tsB[n`5ŃåÑ#θwç'Ãtl ®“ì »»*¡Ãª4ª¡ž¢ +ˆù±ý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¢‡G IdllåÄ€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Ò.å’¥PêYN„[>ËXäЉ±9÷Ä5¼{n¦ù“Âò>Y“¨ÖB )ài»¥!×Ú¼1œÃ„å\âŒÍ…¡¤¶6‘¾óÔ;{yqU U[Ÿ³‹36:öÇ…ÑÉüš“{{p°“Æú”ÌxœÝˆË‘AP¯i54›*~%W4Äæ®el®a±ßq±ÞYõu*·Ï™Šš¡S>æfßNð­/ ÍCYn·«ªdc¦àØÝFœ®@T@Ѻ WQ*Tr2~Rm–%Ò#{€­Ã^Ðx˜¤¸ùŠy¥Í¸eƒkÄgЛÈÿéT$žËÌñãd øÓ.zƒMŸ ‘ÈÇ=JI‘šYQOÝgºzº˜ D°‘ÃuêòØýLÕx] ED†I_wvyÔòxUÃSPe?77¸ †Sós{‚ D û~¸Ù.4GÄ}ük!bxýíúYH÷-ëíZ·Â‚Y!Øfa’'–<~Mb;jb H\\Iq%Ünotü^£bÌ[Ä1'(”†rÆhÐ;oç~Úhº¸x+±ÉQÐíE“Ž_Å«ð‹z›kßœq6KHæÝÎèµcœt&܇XRÌ32ÓVHßÈæ„Ž6k°ýŸgŠÎNìµ»Wµ%ME<½$Ë›¨Üu”®†,ÒJ‹klµ‘a•˜YŽ榔<¾# Ð7ʯŠ‹TbߚᎳk¤‚Cv=î6c½:Ç_Ä1Ã>¿é³Ù];>Ã>¿é³ÙSò"7Ej9¡ª²¿GØgÃ×ý6{(~ðχ¯úlöTnƒtVÀðÕt†8«ô†ÿxÄ>›=”apáý¢¿é³ÙFè‡$ÊØ7ÊÕ ·‰º±Ž@ÃöŠÿ¦Ïe0ßïÿMžÊ7Ah¯ ºó“{+d 7ûÅÓg²‡ˆoÃ×ý6{(ÝȯY}Ñ{.Xc áÃûEÓg²»âýâ¿é³ÙFè•$WaÆöW~ŵÁhkþñÊ(2éÿMžÊŸìë nÚz(LŽŽ2l^Aq»‰äZ¬¤šè¬šfÊ~nopA* aÍ¿R e à¢y·üâÂ-u,\-iâ9&AÞq;ž¤O>/Ô®NŠ?D.t1ú!Sž |_©>/Ô®>†?D!ÐÇè„Nxñ~¤<@ø¿R¸úý‡C¢9âÅúñâýJãècôB ~ˆ@çˆêCÄ‹õ+¡Ñt1ú!Sž |_©>/Ô®>†?D!ÐÇè„Nxñ~¤<@ø¿R¸úý‡C¢:2ìz“Ž’¿&®Üàz•¥ÐÇè„l,&“òzpËrA8n ÿÙ +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+˶KTôH ?¾3jWën¬!g4ïûH1Á…`'wì“¢à¾`~ÒÜZϤõÜY–+piÅêŽÝ¼ë${ØŸôžàÿJÁÆÓõÎÇ;öÇþæV1)¹·lÃqY@:e¹‚×g·íi›]®•Ëä÷Wd¼ÿðæ­"k»ê”¼áHÏùܯZæsØ1òÝ?û÷ìÍž]¤K¨§Íã3· + ¡Ùú”¥‹jWbß4 ú•™u\CH¤õFRßß]OP¬¸u—¸¶ÙTW—æ@A8ÙWŠܦúäÃ\Íê0ÔQ¨ÍŒE,nn æL] ÇKË4w2¶w¯œ¤˜ 3†Û†Xc~è/Pn8ÀÕ/qã7.憚»Üh›íÏK÷ÐWíez¹fÒÌsï00VxHTB5ÂyÞ©2[:*åɵñY]õ`X¸äàjhÑöS3d°äCWÍ-~ùºFG#2‘‡#ŸÛápì(æ©5 ¯!ËÔö'êi¾Êf4·&Eæóu©‘ òÖ¡ëmD&×ÒsÃ'ºÀ}i{œKû, sz„Ô©ìm<_—æ3šÍøûuäð“´š¹ET5àÜW¬iD6ª}júfÒŠdî3–FbÊ'b Å£NÁn穹SÛûsKÈ¥†îJš”ä³,Ó ‘¢|¢ÔŸB߬ÛtXŒ(²)tÉ £‘†1œÆª£Å´Ô¦U5Ñóî¦ù¯zl‡ÚrÎC[)ýÓ¨–ÍF„9äC5QóbKŒ­ÖÍ§× 4B¬/Ë¡I›/B¥1w‘…å‚rÕ*Ž ”Æ2—~ '+Döq鯩ÖÏÌÿkWrU¤/-\G "íÊ—Ô 7W?V¯åR'/‰’Ý# äPM']«Èã>I·éí"ô3E »k¿Å£ PÃHÆ4J«ƒ.K0ú0ôÓPÕÍý.%† Eoóª ñ½"žS¸Õ½NºFfºˆ¼ø K¼ÆOdhªU‚1@]¹¾C¼ç¥!v]ºû†í) +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ÊR•*‹ü›>R®X™Dk.$+UTwÑû_;Ý ÑïÄš0‰ÿŠ$²»%æó‡è—Íû¥)+³hóâ–r—qVÑæîøÁìŽV¯Ö‚«XüûsO5ÏcÝ4ºATº{ »aû—®G¶úsó[t¿‰.A…"*ÑXÐ'«@]^°\zu‚­ÖY’ÄŸ= +xÿ NÄà¢D÷‘¬y6‡æ©#’³<$/f܃ABÄã^_É*Y!áz\ŠIËóp;Ø%oÊO'Þæš¹œ8£zŠÃ:•ŠIp˜…ò×›k« úÅÿ;ãj"1n´f{D-à¨R±éëöØhG_yìªîÐêïuÛÒ­«­9Œ„®«¶…g\Z“f,öŒ·ì™Þäeoê$ž<B¡«ë\@`½GEÇ‹­È¢"Ö–0O×ÁÎ9SüÇ}ÜW#ÉÚé^ÛjôÁ.дc·uÛ¾2­cKUëÒëš=ÑÝ›PNàteÉkÔ$…òNPø´ ÷ºÕ\7š®ÚS/·àiŒ…"ì+á]Tmy–cÉ!Ñå¾’´äÑZ%Xº³°o>~‚¤%¦2hoî= Ý£éÏÆ}‡0@¤Ï«LÆ•5Õ¶Õî§'vÓÓémE >ZK’÷Ùø‚Ç í+}º¶åKx»“¹Éþòè¼8ï+o%âPFšÕpÉ måÔ$š#̉œzÃq<ƒxŒhBÓ¨êéÔßFÝ;*1ø4}cêj4ýîÚjz¼¤Œû™‡Ô&-] Op¦É™ò)R90X>wðó›¯Zˆ¼äe<D][ Mp5IZDÓçÜ7ƒ×\ýÃ*|ŒÁ¹ªôà%ýÓ00ÈúU&¦¤Emèø ŽmCŸ½ÖʽÕxN•°Kƒ‰m*$ÁÓ& oÎUÊäÔoÑðti6ÌÇtjôï–ìSrÆÌ¿Ë ]-+p6Ì^]õå¬û±‘+™>®0iAž] BÿÁ’É #0²ýHcõ#tË)í¾3Vazç%È”vFß<[Æ2ÓBäýyÂ}Å>“@8¦¤áyécÏP¤0*z¢ØRC"lG÷BjÑVvkF[a3ÃσOW…Ôæ1þä}uã?–W33|[Á/2ƒžZðE“{6X‰šJK¡Mä§úFäÍ,J“œ‰)‹Æ”ŽŽ!û"²œeÓ Á¢U‚ºÚR Î9Ä9Ó™¶²Á®7–‘”sL|poê‡dϦ ú(²`E:ÆÑÑV¦pD@¨¯ÖXFälªº«Ì/Ï©ú kÛ-5Ϙ Ú:LV™Æ÷Uþþ¾5}ØMØô8G +‘õ­ÕŽn°;z=} Ř¯Õ3nÝ6! TÆ +1w¼Ñ-}¤4“÷†õÄ÷ BÂ4­jì­¼”bm; Ù‹Ÿ/7isÄJ Bòík@ËË)q18pú4A|=`[õ|xPÛm ›‹œ0C‡]oþñO)fvà>s*¸ÊŒéÏ­!K¦Æ“‡.tñ]U,aסG€³8ðI|«ÓDœgLä¼Ó– ëZVÐ +EòeÚ>A¢¯HN)0fÊä“Õ7&¬Ô(«îlšÀÏ.!S²xm¯çðaììPX¢¤3‹7šÇúóÐaóœŽNøÅ£òBúz{%‘EõÿÅ€,óm~gø®ž‡xþôB?„I +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Í’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ÉŒýÆ è nƒôƒt0Ñ>³… à«5E?‰/˜.»ö´’ñrb6”Û<ù0ÿ¯sÙyÚÔ¸/âü*4ço¡ÂÒJB“OáC_¢µˆ”+ØüwPåüüsU×Äè莰ÄßÜ;ߜà +ªB$ ¨œNæ"¬Î,—-í0˜þ…u…ÎaSP‘K’„uçŠYéê¹JÒд4±UHÔ=íâ¨$Óué@,¯ÍÿÇŽÕ‚éÑoÈ~0:cY†Á/ë òëôè˜ [«'"V‹fpx°zŠ±5%»Öš5QˆâUÏyáƒÒfŠwœªa djhl…ù÷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'-.>.‡¤‡4h>ìÙ@DÔ|ƒbu¿ÝêÊo{†È&úÄ`ëIX%if.,ûTæhç Âå牫(öÑ-³-ŠÉ;@dsä_1‡Œ3‘'_·‡*D*yIMêvŸùêž"Wyñ{«$-˜Â4ZÖgœ™ÂføÈšÑ2OÓLèuž²òÉd†ÁÈ_Ta@uîê›­;mXŠ–ø²©(±î™ù+¨%Âç7ôÛìW"ó8JµÞqi72Ó•:òWjì½¥œ§¹ÚyK‘’©HÇ2J.!ß%•†ðk¨}f €à®‚~Õ6dx ÄqwécnϹƒ@¢“# 8(±øAÏyð»>ãqöå«[ן†mL*¨ò…·“O·)÷¼hÙ‹<¶X¤³7ZûJ7á§ÝÕRåÑú¾wr¯3¶)¤9ù`áБ®­82žf½!wcw‰™‘‹Vf\á¬2¡²¥âÐ­Õ Øp˨¹þ®2I-qKéWcËt»AïÉÁsA|¦R,bâç{ßÛ]:NWi*´âÏUÀ­1‹j1=¸3Py ÁÜ2«U§‡¹FשÏí¤Öôä_Œ"‘ñCÒŠâžã¨’"‚àR94Ò?Â)ÿçê¿{è +^täj¯X-þ¾×@ˆå’AäàmÍ]/E‘~îZ´Ð厗Ӯý¾g¸9úèE ™×©Æòœßþ;O`€TÍÜ[Ã…t?@/»¦1”ùÙ$ÓS$º>ƒNõ^bd£§Ò„ñ% o†ýÛÓžr7Ð=Ìt%/¦9ÅÛFóBÏeÆ%‡…ÑNDªÚùn²Å •ÿÍsèº)˜ú† +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—Ç4Xþ¥{Ž²Ø_Žq4@1šÎŠÑš5´%0á* +½|'s7 +cÓ.?ú ô¬Ó tŸ2ühíæ…»üFr­<çž°{>ÆÑ;à + yü­~kz»:éúêxgV@øÅ47¸1þÐ%,¡‹öýN[Öw®q ú{4ðò–„Æþv­Jþ×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¸¶•…›ßĬ#=f´ÄÎØ#®µÕb«,¥DÛÐ6N°`â<$3Â¥ò(ZÃÉЕ®F©i&æ£êëP–2Á®jZüëËJçaµ!òÇûÀj•?:N•Ž‰¡Û™%À÷Ôq۪Ƕ#ÐÝÀ{vmÇW×`Ú]90’ãÒø@À.Á¶LA?!£Ý±Do†‘ɶ>ðòN¾¼^‰‘ƒâ4_‡‘ÛoWmÚýÑý9Äù€'>¡¼-;ÁÖõ˜ÂÀŽð»;n{’ÞàËÃqMÿs8´½¸ûã ôS5”ž¯ Î®Ì±b%tÏÇ«º¯X@/ŸVšåª¹PµÞy 8wNçAÆÇú™G%¿úóc_ù;~_I ¢ð¿®â##Õœº +…½pö$ÊU¤ÅmŽ ê/}áZ›ùg²?¢ Ï—è‚°â±aíîÒM1ªF3I ypCϲÎ'L òhb¬ +?7îè?¹’ -¤íÅmž…?Ô}{ÃصP-Ù¡5*‹çv8*¢03 †?#ãÇ…¤ùP ´Š96ÞѪU6 ƵߘÂN(ðÌÁÕr/¿ {¨\Çhx¨ÊmÕùó›¦b=ˆc¢"ì[ÿÃ(Áí³8X©t¡´ ÎÚhK*Ç@eຫ²whn†32tïjß±g-q‰v²¼qR(£¿-0þá½ +ißâøóžl;÷eEI!àÁ:ÓñXáÏs 0”&:÷È‚ƒ.ÅüfÅipîGX9 ˆTtãô%©ÌRð«?¾<ªÐLŽIH‹‰ñ¼'¬U„‘¦ ‘"£c~ „®4:NÏ®½=]âGWýqv$s¨h|O Œ[ýA±Í2¯«,Êcúî¶$Ú+àæÛæ„ÌRähJŠw©71Xª.Q"7*.þ7J€‰ÅV¶Õ"yþ‰¾„Ø”9Ät-.8î']…8FJÑÑÕœ•á–÷‡é6Y.¨dá/NLeSžÊGÉç`êà ÇM,kºf l¤^Û‹-jŽ¯¸¡ídè_‰"TŒ¶Ûñ¨AÂgN-â°—újãvÏ‹ü#žÒV\å´—ÅV¶<£Ü¾»‰ßö÷„¦ôß³3oL/s¤iâlqGœþˆÃèú‚@i‘³Ä¼CØGRÌ>.OìÁ–ß#ûÙÄ>þ7LÔ®rÓ'1é˜,NŒG~«çž•nøˆËP˜$ªðVuíe­_}¤œj 㥤\3$C1ä¢xðþÜyH3¾ž{Xñ––ª[tƒ<¥ûd„¸= kŽ§²ïI)Î$ò\ +RÄ*Ó¯ËA…Ä¥ÅX#ÁˆYãs|’_ò§·ëž²»g.’Si`Æ¿Ne7r,‘å²¼‰£”¢ñ$òk“ªy­gâðW‡y6 x{÷=XÍSç°`çåŸ)/|çêêûïZY”׆߀JÛ…þ¿ÎšÁ¸ƒ6©Uš2Y¢,ëØÅF„ ߶ Ô§îjÄÁW*˜*s +­§T†·èR˜há-»×[i“KHi +¶†Ç/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ã쟥¯ç“,U>ö…zÎúʉ¾÷¼…Çóq[ mth°‰#ïs»«{”3vfWòè!YZ+±a$6ò?”Ý» 8öf@ö¢³â¢Ç„yžÄ¯JíÕ Ë›YÂ9´A.ëâBàñoÿÅ +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‚¦§4v^“6šJ‡ÌÄ9P%³¦D¤b»þ÷îbAŠÅNgÚ‹,€Åî·Ohâ3ߟl'öófòóòùk5‰Y¬&ËÍDrÅ“™âLÅ“åågïúúXe‡$½M¶Ùçõ×üP}ùkk’ÃMžVO¿,ßOüÉ,X,¿¹=-‹ÒؽÏ_‡íMpŒ‡,ì±Åa:ã‘—¥ù5—QšÅÃTsï‚uÄ ñ"ßžAîëÍnÈ7„w[Žûufª:Ù¯«é, C¯¾Éh°)‹¢œÂ•wù~K$»/1k7C‰4J”DIËÝ9½ E{ãL[=fAÄâPàŠå²_kÙH±œ¿{5¾®b£ì  ów^ðöÁk–ˆgö ÉÜ»öÞ.ùp=Å™ðn‡vc‘ïoÿW™®¯­C<;s‰#D,M9s¬¬ŒCwdÀtØñ‡j(™h$ã³ÜÀîk“Z½ÏhÄãòßê(´:ÎèÉEö œî:€•CQÖµ`’6¥¡Á|ñüj¾pGí!çû´8Vy¹w,Ž‡Ù8ɤEIDQQšÉà1CŸiÝy9qØq¦#ß»6V) PØ£"dAüd™m%) »Ê)£¡ú‰®2û¤B9kc +mYDXEVg4Ú‰N¡‚àÂû àÖ¯ì¹û³ÇF¡œ’ˆëì^)ž¸™^RÑ·¾AŸRzÙ—W¤×zmlp Æ®âÞùŠCè™Ü²¼­hŠ8n¾‚£A1·÷ +/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¼ÝÒú8 B?²²ø©Kkª#ŒMöÇ17M+†0%öOö}ÄC[Í«~Taݬ¨ÃÖìfœm#à1t!~›;[ã“÷TÄdWb:]’4/ò:±Ù[ËÖÅàBE&Îx˜hb3b·[½ÀøâÞ;Z9y81OˆŒõ"Ù»ÖMžºœœWŸ·¡QëꀨMí¾pf•šE½j|wƒÉ]c½cû)“¤5b®¿)!B¨q$—Kï±o uìmL¹£ÕNúŠ›¶«¼ +"ï݆®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€³`«¿w˜–›‘žßV£!n3ÀL©Ð{/_ûžò¥wùS~äéCºÁ†c¯0Pw y».Z¡J“osûþÀ£-°‚Ê · +êˆù½Ì:Ö$à,lJûý°=c²öŸŒÑ?!QçìaÿÄÙ™P7NÛ°I¶`AN1‘Œ«^Ù–P v¥{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Ïš— ù. ß:Ý´hÛ”ä d•/!¢)ñŒë«0!ƒã-è±H÷Ó›ey"(­XBA!ÊAŸË|ãàdAE*˜f¬+W~tÉP8Mû9øB &ðâ +í«y¡ˆ ‹Kª’Щ:VõHÜÕ¢hêÚ-žÛÁ«;—Ùp,ô©ÌŒ¤Øè s¸ãü’Ì’Þ€Ð! ç/I¿žº¦}ñÿgš+Ž ïK šÅZ#ûð±EžbEßµôØ™'E…†E ÛüÍ|8o}h“/û•gÚÛªéd(üe O²·î€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‘´H$PÒ1Ö Aar..% ‚†#Ê4L +’”0Ž ’~(%&BNÎPBº{£àŽNh¯ð—8@Á †‚ÛCÚ ævbq!íá0´·  àê +0üãO€!̆ò‚AÉÉA n<9ÂäB@i ñ¿d(ÆýŸ-/Êóš À{Í \SB‘Woæ@.¤‹¼Þ vÍò?Æúo¨þ®ŠquÕ…¸ýÿç þ­qƒ»zÿÃtsÇ a(€ +C!þn5…ý§ƒÂ1nïj !®p{„£+ ýK‡{ªÂq0¨>mïp€¸zÂþÔaèßI®§÷'‡±¦¡ª¾"ÿ?Þì_]}6öv‡„ÿeÿ³ý«¾ž +ŽX + + ƒ®×ëŸwÖÛMa„ÂŽ#4…  ÿ)ü;•¢"ç+ ò @ a€¸˜°ß5>FÀ=00 e€˜°°°XòOÕƒBÁè?¿†ëÿ³v€_ ÃÁìÉÓÒïÀoØ>`æ?²;lýÆnZÿe9øm¯¤¤Ü ’* +Öé 1†[Ö¥éVãñÒóÛÛïíöd,¼¨f¨Kó5]¨|o*eå„GE·Ç‚OàõA»Üß8£2¡é<Ì= ô&`ስ…ýý:ýðç£ÌíˆÇ&N“¦Q"!ø§ŸÌƒ¤oz¬ôOÚ0~¢Ø +yÍe¾„Á®ÐäMê,¶UuuÜs~T´5åø©í¯M‰â—c×a¨/à~øZÑI0Á¼ÎàC‰}HB8…b³.&·Õq9ÁòòÑèl´\d]@à;;¼'/?™ÕZË„”KŒ5‡R*],¸Î5(´»Ñõ? QësŒ¹ÊÁ¬>& ‘b·¯ÇšyÏ +_8@P!ÔCCW£óâÛªa< Ñ÷JóÁiëCdŸ1ý¸ 8äh†Óc>Ëœþ°e¯èÖºM0tœ‹°É}¸ÓÞb¯9&ÿH~Ah8Ë×í¹§€“› ªÄ¿SúB€˜oCæcfùÿ®Z`ÊÓt|ö¤Š N ðàó×@% ˜Å[utÄØF#o$òámý+>§húU’;CÊ7G|k^ö÷¤} +ä-þp”púQaÉ2ÝüUàÇDûí]U N®b½(àÔ¬†0þ…ˆ%ÇéŽT-/ÆZÜhýÅ®¦áËTݯ®M{’7Opî\¹eÃyÙEcµ­+a—é%)“.¿ †p”sÍÑOõˆ»•bœñ£ž(nÍú6¶¢GÓîh´_tO˜6i‡}:&ãónà] õîâ®7u+(sp†YåÜÛ±ÿ‘¢Cò® j<–n7U—²Ò¢rZuƒ Õq⦖”⺞áDƾš¼ÏJ®F|É–ž¾³üv¾-Ö zü’êö¢‰{3ú^õ¶ZS®&SOG!‰'è‹ôÇv +KÌn´Ýmäå^‹_^è]¬÷\æ®™ÿn æÿ¾¦cDJìE©kÑʱÐ~f[Ç8áþ¦ÐWÅ×ôwGDx —pRúû¦àº‚€ÖNrtFó<,ÝAé›÷ž-EU¢AJû•_SæyÛÛdzå¥÷{ZrGúAÚâÉ%~§q;„ãU'««ã%žìÇ÷†o­2 šžƒ9kZk‡DF^=… # lyS–½cÏŽ•½Mäx-m  %˜¯‹ç%f`gô\žÃÖC·µ€;lAÒ^¥AO~’âö+nmùO? =Ñ9Á™‰aÅV^_½3Šè¡M»‹OÇ‘ô“겑HaðX»pÏ6RÀhÂßÿ½峦®a¶^ïÚÚZp_¶ÞÒ&õ°6ç›1műb;¦…Ȧûam™#DOôŽ;‰,HÔØ#çA²ñx$Ûi0{jGÖ£ýl1˜ÆGLáèXÈ|S´ƒÎœíÖe4ÅšrP2¹+¤»;!7ï$VÁ Â/Hçȵ)£¬3+;•Î°IÙþ3UúDp<]«>OTó +êâ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û}´ãä­íEèó0èÐ5—;]Ê„à…~¯ê2Ý0}“Õî`ë×0bZ%¹¼D›UºÚ â³)|e¼×þ]- AlöŠ'j »¸ ÔO‰9´ëPi.Û0áy±ll73¡ï ñhãwPÞ‡'ÕêÒÊsÁM2Y­9¥–ã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É—$ Œ9'uÀÿ «î{rIspÕª(/Â/QÅËBúœ÷ȤlÜz +v/ÇùÞ­¡j–ˆx6hLš¹å§E¾Ô½d‹—ÚR\c¥öpª•µ’f…ô¡ÂGÞS¶$ƒšg†#Qì"Åc­¬*iõ*ë ¡]W:†f9‰R“› jÚÁ9ýƒ•ò3û©¶¿dÁ©ÛÑòÐií6¥ß<6 Ç´;OÓR:é–of‹‚Ó5x HïÜ#”õåúÊ9úa{vx“…;Wrâ0G–§Ð+½)/HÄ‚Ðàeu@¤šÏ#h,-Šnw@lD´l7¿Ž«.Öç—£ÐÔ9û§ÿ%àiÜÌ@X/ɶ ùü¤£7xVíÉdFÝ‘2¯Íí¢žtÑRö™a*%,[ÛíÓü¦ß¢%Ú'ÄE6 OÉ“e{›Ð)ÈϪ€Í®XÜ0˜Hý-6‚êék&°Š®ÒÜŠÇnrÐñŒJkÒi–‰ÉJ @]cD;eA ge瀓SqäžÇë¾AU@nàGqƒÄôc Ð[:«GBY¯9-2­^t|è˜1k'žH¾Ž£ØúRãUâäbãè½"O;KjòBššå(ÂU2 žYŒï7ÒÇš–?S?¼±á±·¾À¯.&ñUÄ1áU•sâÅßmU$!Ê3 }zŸ˜H:©wrЈ»#!**!Ìüµê« =2Á–z½{©ˆÃƒŸ.ú4kÆÔº²9vuBî#;q“šÙq·¡´ÌAé;CÆC5mÁ¼[DÇ‘Nêï9Õ %&K9 ‰œŸÿ°¼Kºü‹ÔÈM+q-ûulm¹‡˜¶¤U¼;Ã8Žwâe¬D!˜í}W¾ÅÀZ3qP:@Ê}ùý-“"`­çǯâîË8i‡Q¨ IÛÒÐï/d +ˆ§³ -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ªÍ +ºŠ‘ˤyÍ5šêÕÒýÀk|ÛÜ?TæÕüvuÛØ˦ K—b‚ÙÌÔ­à`Åö{}Ì/vêøŠOT™ê9IÏö²3|ŸùÇp¨ÏÄGÌèÒ`zv^2?ðmj´TQvQ¶áÖË9+³jÍ + Ï(âð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‘ÿÀÿ‰{W…FºAP.ääÿ}Kn¸ +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¸°Ù‚IeMM ÈΉÅÀ ‡˜¹@aRf.AP@wµpq€ AnnA@æè ‡ZY»˜%ßýÈÛCàP 3€²™‹5Äþoˆ…™@f…¸x²âvvÜâ Ѐ8Càn0;C-\æ+¨Ç? ä,aпd°«ã¶Ü pç¿\æ¿œï)Á0;Ob‰Å¡û»ä/Ëÿ1Öÿ†êßÃe\íìTÌìÿÿÏAý·¾™=ÔÎó?0{GW  CàÿnÕü N†ºÚÿ{WÞÅÌj!î`epþK‚:Ë@= `5¨‹…5ÀÒÌÎòOâþwˆ¿ƒû'‡¬¦¶²š&˼ÔuÕÌ .=ÿ+÷öÖÀÿYÿê0àdçäþ5þ=ÿóÊèßV“v°€¡VM3°ü_§’€yx³ñqظx?ÄËïû¿ú´ N®y)/'''?'Ï?U W8âàòÏïàïÿgm ý;Äb•õ™ŠhÂJÍrmzÕ=G§Ó:>¯†Õñõ$÷&ïõäÐÙ+;Tö›ðP[µ«Eœû#µOi·Ì4¢5~ÊBñÝ7ƽžž嫯ß[Ž¶l_ VÄì³M5è#qtB>µ˜Ô±äñz£â­]€ó\;ÏûiÉæý:—Àåú,Ëu;Q»m‚sÒ,Ù&7Õh’`}"2Ïj."_û îÐg­K16-ÿõrÖºµ_òÆ7ªØçQÊTª¶ê¾Wëþ| {ú…¨Â£ç‘ZLÜ÷©Œì){Ð_᧴϶|ÖŒªB~šíº½Ôüj š ¿vD“æ§}{<£Éæg颈¨yÜ£•–1$]µ~´5h)qÃÏÞ0HW§BbØÚ/”Å­êmGÈvúi±ø¬QN³×AøúŸ nšˆ²O#ðÝŽùÃd]D³YKð\ó;Bgþíø\sëDäÌ7ëé7ÉrÆ…Òn»mºÍ=*pE>IHÕ< “íéx?âwΩ ¥H†zÊíuÒlÜŒUV†`ü­…5ÊI5„ÚÓµ†ÜÛŸ3rþB.4ÆíåqÁëIÛÚª–¥Lï=Ú-”ëgA`Å€·Ñ$Ù¹¿œ¬ªgDú¸¤g523;“ZŠ0dždÔW­–‰¦[·­Y5©$3÷IWí߇‹‘8ÆOÑGìÅŒÊq û(õHŽÌórH5÷¹ß„#æVQiÓõYGu[IC{>Gg!ù:Wn +‹¨ŸÎ€Ž;õà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|6ðóe¦ùJºÜ¿©C=p:T&Á¨™¢¡hU{…b +Fs¦ACK â#ä€Ø ˜]›!š?‰¿½u$iˆA—Ô¢Å-0pŒ/EÎô”¬ ¦èFÑÄ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/ûYÁÇሢ¡(&©<¯p¹ð¢ÿÁÀ¥ÒàˆËϺö½jöÖUÍ$*¯”mŽ{ƒ³Pc ™FgãÆ+lQn½šõ×d9r‡{Œàƒ?ñßtŸ¬(öÙ’ª +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ôËâµÜjû0³LØÂ\ïÜ®Pl'À²aZ.—¹¤|Ø;û¥Éa7Þp=õ†mÍ/@ž•LNý!Ê:å!6qá2Dæa¹„¡Ôòz‹8‘[ÊÿnÏnܲ´7¦TÃ# mAämÀs<èÉÓ&~£__ I¢PÏ(kaeÌëàWU‘.zü†Cƒ±þˆ¿zeÛ¶¤=ØW5hFG:\E§30¨ÚظکüÌX̽ˆ^‚€Ã 7  ú:h`póŽ YG<Å !0Öí *ÀsèuK°üžzòF¿šðL¾”/’Ì;÷ z†ì\'Ïé 7ÂH°:àà üÍÊkW'<)ý6íxgÝ…€@¶tõ€J€01æOkó5QUUNÆÈT?³mÀüìøàåp·¯6øúR,U®lìÌG'¡†ÐWñùÈ +?ˆþäü‡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{Óä3•LÓ–ouËèj®“ÀxG<ξ٠eôM(ƒˆ…Þ2œ'$ÎTFæµTf=#£²6¨}îu›XH®^ë#ÒB´¼ +>‚ÕÅ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ÅWe­J½6¸]Šºê綔Ví!ÚÕÚ“mcËÖß©œÉÜ©Õ[î排ëÒ[2–?¾¥ó· +7z3r´W`FÉwɨNW W—€D6_¦2s¶dy¦ò°t„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ÞDo wg­à5Îïn½)ænºg a7Û™Ìéúà+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;Ðó¢*çfV“ƒÚ,ž”Ǹ«",Ò4…sI˜æ48t˜Ëú¾de\w>¬ÃPÂeØ.òÌ»°UðÄî«÷ÐñW=EïÒ³¾ÌP4)¾š›Ö—_xnHÕWÊq\ªšð]½ô3ÂBÃ×Å"U&‚¨YgÞùu³ƒÄËËr^Ï}|MßÙÊ2Øœ¥4§G&ž¶»C‡äðÎ'§ò2u±ëñš")Ì•‘$((Dñm@fŒ8\u Þ¯<,›ã©äûÔ©ba\”IȼÑÌé +{‰ø Ž^عSûø~sƒª[_äÚÏ>ɉ§9ÚyÃœÏézíÓn4º²kb…^pt2¦|Î>è +²ýoaL«[šÍ¥mŸsž8ílMðÙŠý]k®g5›Í€à*·Nâ5ôþJî¸m ¹¤CëµÛ^›§Aο{9$*Ñô:x§R«»F°4NdGx•{"ô½cKÅf?"+‘(ºÐe§/–ž?2`p ¦FÇ>GMˆ…þDTĸýbŠ®%b•Ík>¼|PÝûÊw|ËÿB}¸hx‹%2“à|ý†W q©å`:–õZE9—MªŽ¼Ü„H’ÚÝe.9}-]*÷}0ºPú…:ÚHmÑÞy‚Ø¢ïümñìÞ9‹2”s%–Íì‘9ðÛt!ï fêAýé'!Î@:œ¬¼ºÉ+YK+“_K, JF£í 6‰æÖûx˜ÜAÆZQ_ä`Z…Š0é\ù¶ÚQ·a5/+s¦YQ‰1Œ™©ÆóÝò¬Ø:Ûw¼Rú ^y`yE™ÒM~Ó÷ñîj´fP‹I@۪̻¸d*DÓgO¥ÒäÖî“ÃÀóN„™¹’‚»[U›š‘Ò•ËÑtqrªµÔsN_ûSÏêý4ÖrŸ¸Fuyá XØ‹·êø[À+‚ð±:fÕêÎËÒ˸™[K•Ýã'¡á¯.”d*Câ^÷ÃJO‚Ä0Õ ¸äзç[kÛòÐBÀŸÝ7µ_®}uÔc^5Í‹ ‹Z˜Œ¢„©‰Ò¥X\t¤ÕÜt—‡Ñräµ.«…¯¾>yR”÷⦙FçÇŸ‰¬óR|ÿØèH5ŸX>¯\¤=(‰Â£œf'ÞTJ~c—|K‡AÆ7y¯ËJOâÒ¶·áº¶ë£eÁL€V¬W9å¤d?,‘t@«»ÇƒoÅ4ƒPsÐ „jUéÄf?»^m‡Œ—Öˆx+ {)¸f骰èºË]ÙèJF^3añvœ^׸ٟÝÚ3f\ج]‹` ¬._–. ÖØ7>Yøë0[ hy¦49üyå®J…Níƒ5?%m[ÔûEß]"¼ 3xÓA¾ò·CŒ-òA@n£Â+T\MkMPªpØõtQèÓù˜¨¾~]ûŒ%ÑGÀΓ4ÉÄ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ÖãðÂ*À&Ìw VÖ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ô*:Õ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š@­]€¾™¬CŠÿ¥"È6]ÇÃy¡?®¯£d®@S8>ùÕ2¹OÄ\!ŸÚUFyä]ƒ‘àÖòΆ«6nõÏ)†b.1Ž·áø-pµÊ¦D)ùœ\’éš¹—VbÆ$f±õM„uµ”‘ήq¼wO|Àáéhz¾ +ƒ¦Ó¨¢Ž óÿòÀúÿÿ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ƶ†Q['ZN|!Ez|ZzzAh!€“¹­°€Ÿƒƒ_`øO㟇“…™“…š_ÈÖÎÝÁÜÔÌ Ÿ\ˆâ_(6|k€ƒ¹‘ ¾Œ“Àú#+|%[#s€“;->¾€•¾â¿º8â+.cZhh|cs#'|C€©¹ 4Ý¿TIؘØâ³ý'mìl÷_%€ƒã?ºðÉÿ­”ÿƶ6VîøÆh:YÛÆü£æ[Øÿ‹®ÿN.êle%k`ý/úyõ¿” ¬Í­Üÿ/€­µ³À_ÆÖà`óß¡j€ÿh“›;[ÿ÷ª„“•¹‘€©Ÿþ?)sGQs7€±¼¹“‘¾‰•#àßy€ññsÿ–@§ª¬¤"¤FõŸiýOQÞÀÜÆIÙÝîÒþ ýï˜áÿŽÿ±ÇÁÜ _‹þþþsÿWKç¿ &bcdklncŠ¯äd`clà`ü?ÿ«(AA[7OFü^ÿ¬3zz|VŽ¿ÿO¤Š¹½3@BŸ…žžžƒéßY#g€Ó¿WÂ?_ü_±‰ù?þn#h_%òKòu4z4½ +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ËŽ©Ù&¤'Ü$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”’(a­R=fû%~þUŸÞ—@³T‹¸X•ºávÀÜM1… 6êx/ãØîIËÎ1;<–î€t*Ë >`6 Ö»© ­Qv™q5Z‡0NN5rm +¹×ÎÞ!¼Dž+·ç–„ÞúæÐ P’ñ<"×µÀÿ«TZ¦vÖEV3Ñ•ÏE“êRº:3I‘»D°ë2²„¢eÏfE Ÿ‘tŽ:ùéà„‡²ÕB‹ˆ‘pËÚy5{ÿz~ëHÚ“2àà¤qöŠô'¹P—§n˜G, +Úºèé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Ñï‡nu©MG†û¼®³j¹n·—³d¨SëÔXmk-‚NɈ“{+‹˜“ ÛNùvt|`øh-ËÓMŒÅ•E&|ï*’A–œ%|o“'£÷™å%ŬÁ‰+ƒËÃ7—YMÑÿŠ +â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Ù}ž]씃«p­X2@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¬|‘z­oTâªÙg°ñg®äëÆÖŽ‹D.Š”IÍ·Jêå}ÀæKh¶r hˆI020êY&•þ\ßo rb£¸nÑš¶•©k"V1@B¡qçx‡µS^Ùm([ÏNk0¬V¶oæ æˆA9V GÐ~gB®Ž¸Ôð1¢÷qyóÓÒE%ƒ«5󲆚Øí'‡{Ä-â5}r±±1ÊMtxðçœÅ±ûWÔ¡ Ç&„ð´²È’ŒìÈâÊAìƒ`¤]¦åܱßÌÄ=!P-ûOÂ5Tiq˜«•Àï® u-YøÔ±JïšÎꃫ"Žþ£ëe“²3S¤í­Ì…à9¶Þ½þ“—’7ðÄEˆðYMÌ«ÀðÙâ4AW‘§ï»áwª¥ +xJTWMÅ?¡ß6§®Éúvˆ8¯ i8ºí/eQröDlcxqÝÔZò¨jž˜ˆÅÑ®(¥³Â0Ö[b4Iþ™¯ÐÁâ…wد×™@ì¿wxO÷h?´`Cp–©¢`š­A!&g*J<ì]+Žt„Ëß!>"Dé-ŽînúØð¬ÎÊO“Íc›qTd)ȯ³%ŒþtrÈTGd¯[òÓ†ÓÑ}¾j>3bŽÞ»VÓ¯ +GÁ·îâjH £œb¨‚KQâ5/¹,DæÆ2Nî¥òŠþ^Æݵ:t&žnZ†-M¤9d>¡¦3ýõˆ¹æ½û›°¡¢Ð~w‘ôc +>ýÉÁ%>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µ›“»*ÓmkÀ‘ÜM|ÊM1'„äÿóÌÏœÌ, ½ïŽißÊÓ+„£œ[fÑêÞwÛùB“ã×ZWÂŒ­W|Èùíy}ò4TÇ=F¿8‘~Eyú[†Û…„Û¦ý`}…C±ÐÚ}0FØz¯~ì-U*6Í M÷/U–‚R¡ƒÈƒå2RXH‚Ié\=_tñÙêb©¦fäáòòúGv4SÓɌװc„YžȜ’*9 º 1©,ð¼À©Ì[ƒŒ°^ÊèOÍ~\0{߀£° +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î}=›@ÜÏž),ª¯ák²Ð8«’\0¡B/y¯ùU?W±1¶õë\ÇÖPû]-ë ÕòÓ‘­SùØÔÇ7‰ûÄCøQøtújà 'Ë!Öñão¼·’­©®í–zÆISzƒ¤ä’û7àQ½ÄTÊÕWpº^û;~g=—÷W£%¦~ÿD#–¦/Ÿ]«G$=R +³îúÆô&!§`Øåê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^NSt O|ï•Í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ßA m Õ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®ˆ‚ï%ÝïÁExƒô,%ÏB½‘á‚óâjPL3Û—-=˜êbï~Ÿw%+ÑŠöC8CÒ$õ7»°%>_£“v +è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ùµßQ*5%U]¬›-â#©Ç–nwÑ·´ïçéøq»…4^O?@.—f]Eœ!ªlÖF{PãdÊ© o†<”dÙÆŒ‡¢¿ÈÎwz‹õˆs6˜ŽáІrçµ6‚ÓÑXÖ`x7ÈR ß¼áYcH°.x@‡O>'jn±°¹ÖÒÍw¦fߣòO„C»ñ'ï˜ý!\+‰w»›4f£ fÚ28î”Ö¦çZL+÷O.õ&Â¥˜œ…QŠ’›!òÁ7“•ô ÛãyóSÌo,HnFâ(‡ß·-ôZª AŒ 4:Ö–ºçªF3dÖËJkÙ0¦‡ÊXüúƒý4c÷›s%!ÌÌ ìþt +ª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Ë#¡0Ü…œÁ[Ú°·‚Ï•ÒO'oï}ì9aF:~V°9ZÜ°Ø…¡™'u o`’DO®„rà›«±+Ć’eí*2ßÿ84ìæ¸B×ãaIcBw·cr†JðK™ÞÄ[ƒî+ÁÙZwÙòëèúþÙõ…ØüÈàyÓY(”%–ML¼ÀÙ-–´ +¿m¯O²Q%ġ“ºÝºÒ8¥Ò証Œ ¹Ü ¤àïã ®wqHƒû¤¤xí¸!)q3}C”ò‡øÇ°èÉ’.W;ÉB[;žŠÛqTÆpuºqBØï,jhýk› ~ýž1Esý=‚å Uý6©>Ð5ß[ÿG×÷óÛo·¨zB‹ßuxA$v–@›Z¨ž«k4ršßJi?~uöõÛ âmÈ2çø`à…¬þ_2TìÕõBµµ}È E$Ò•t«Õš„§ý³Ê½Ÿê¬ K ;ÐÇ$î ó'ô8CŒäqšèè©Gj0ñ[Áp×3žKºÚ‚úÐJ KNô£7ü`LðœJƒ`ȸ˜7*H)•üelݨ‘Äg:Zo•bÉسYõgLYé Ûi ÐGõPÙPì³s…jÞïö+‡.¿”™¿%ð5âyªA4žd}Û} +²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¥عv,áثss¸Ï ŠêÕÐÜŽ'ˆ kÇ«ØM'Qùà¥÷†zKyÒ½‹¨µêÆìøo²ü†ã\ ŸúY®-Ç]‰ø‹Á[)p 2 ËãüjÕ±ç^MN,éæa},mA‡?|–Q„«ËŒ¤×T*ôò,7f좋ŽN¿¤ÉFZašë‘F×ĵ7¸Ž÷î. g@}+_`•ïay-FQùr>Ö}CX¢°³Íjâi²NiOvLˆ¬,èÓý–¤FÖ Š»ZÍTwâ––&,æÈ;½òá¾xzøÓÕÉOR¦&µ\3ȹ¤æ¡À\jpö0*-Než½CÏ£Nî4Q·t\p¥ü Å°—iFÜÆ5Å™ô,‹ý¥W›îqZuø.C¢Y8G1áqœ8˜µÁpú<:45=gÂœaŽVc>QA¬t#{jVMž§0æ^ÔÛÑ©p.7dú{Ë{ɘ:ÿ\N´ZMýåAò­r–$˜”½Ó5I‡%Ä’c]4¿*®_ u½<¦ÂX¸ +hç³6é.ø èøNêÝ M‹ÿ²kûøÃF ´D(àã½V¶¬“_ªÔȘ9íuÝ­P´hå°µ$T¥ðUMZð9=M ¤&rK$ÀŸõŒS›ù‘ÛøѤTæ馗ш›¹òBv8û…D­Ìê`Qf ®ÎÐÒü¦Œ‹ˆ2€Ë$?ا«¢y1§ÐE0®K~d~§.l±Aµ¬gåÈñÐBß +‰òÞ¾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 §äƒí5vÄ€=‘½³Ü›íãušî=ãïù&'!º•¸”a¢sã-_=ÐÑ¥TÏíg7x•pnÍ!ý…ø©Ÿ´ «HHÕ:Uÿ’Ðf‚¡ ˜?+}ŸJ¯~¬|®údØK2=þ‘hÖ“§I š!ǃ›ýÎñ壆þ; …"¥è—®ïˆ¬CN ¿#!õ;Œ“(`{Ò0(áE´•Å»Ç³òfkÍÒ^ ½‰)í)2§{VíÐJ,]/ý`T™Ž™.ÖágÔBTåßÞµ‡ÄBù¸â¤æ<(㛫!ã}ÖZŠ¦~ܳ}ö+5iÏ[{Ø-•Þ€6GÓ¡°0±(_Æ?ŒÐ´)îF2C¶Œvf¯Ùüã%ë%Î&3ËÛª{unƒ1¤¦Ò¶TBQwÒZ^ËjæØw¬¾G#7£c}kˆ@$&|!‘Lü…¯"’;áSZ¬qƒš™lÁUÃKFj–D_5•ËcÞ‘uÄä®Í±ewN†Klº?ym¶GÑ äèÀ½¿ò`ˆ5Æ~ j.IÿìÂà52pY¤('QqnŒ–f"ªo„½åõÂÀ/±êɃ™ëF3n“Òๅæxž´–«G=5jÍ1„D‡±RË€¯½û},õý¶¢-VhÉšÇÄ$iKÕz^q¬×Ûµ"ÉÀVª¤»¶Ò‡Œè-›«6ØDlùÀ@S¼vÑ`‘Ebט(“ݬ˜óƒVÝHltˆ.øV£±[®lýH¸Ä÷ŽD牽;—Ž\O_S=!®¿ï\û1O¹.l«±+µ æLæÄ]œbâY¸–ÿ<-#FAR‹òØ­x‰(¢š\=+|ú‰<íQCCÉÙD‘:-JŒ`œ—m2£–¾P¥ÿE³å¬ltžðœžaR÷çošŸê£ˆŠe¸ÙòT6S ¼ØPÜv}P;âÃÏ!7m¼$óäHéƒ7HV7@ Qî'qÑ+—`­»ë®£Žösóó™‰/©MRÁj§·%íb#^~C\åÝUzy¼àmnY¿P¶øDÈ"&šl´¾à/½ ]à)ý*kœÞÆ\P èÀQàc ÃhlÒˆF¸êReßݨ¹µƒÃ/³ ï¨GlçØ^€Ã„˜úÏBÇÔ)éÙE—*¿ào‚. dߧⱳf§_Ä2õª<@•øË–{ªkNíšû·‘©»es+‘”œt«uêY¤ñæb°3b}d³žýÑgÝô×zš•ÍìLçf\p¼áW¾4 áa-=[”Å+ï~c¸8»Y›÷Œc~_©J$ ÔO0ÞŠôA\°f-·b&–ƒà…ºhøäº%à„XrBí +[³¹¯{Ô—4aÚRozf HÚß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Î͹›SSêÓïqOøµò „ÃöE¦,—%ÞrW%dz¾a"å @/Î » w:‹œÏr1,2Ɖ¢¤šžÈáTJÖ‹4[y{’4ºv|ù~®É푃¡W㛑ò¦v)t–YëÜß/½›ß™NÉ`•,ãPÎÌ|ÍöÎpáúséO1‚¾ÄaJ°¡û!ÞS÷…1¼ã1¬‘ 2ÛWÃÔ!Yñ0‚U¥h2“ù«Xìì E|ñbv°Áêz—ÉŒt È‹ŠØÅñeJB¾œä(û” šp÷"…™ƒLìÙº‡_-®Æ›âf5_üÙ,+Ê­z ÝɇçSá€n†šajxäΣ“¨€ø˜«Fp8ûú}2ü—ÃÅ”1ìðoôäð²G§ +óS]4Ð\û,õÌS$3£ù4âi·QÒ­Å|gSLc›quóÀu T–u½Ó=f´–%Å:»Â.‘­ðUÂå¯^HôÖa1ÍŽª¶³CV&°ß_•"…¹³h)¢îÇ ¥kû€«¨¿ÂÔL.ëë±¥ÚZ~iWþRÅæbK§ndäÕòSPþ+¥ò´º}«ëÁÎ8%&ýRŸÌ âÒŒˆ©×Qf¡øZCIž3æ9‹MNË^­ä̓Æ=7¢=àäŠrüq°Ô™5©Kë"‰/„Öº‰ßû¤®s—&ï/Ì2yM<ÒÄ¡º½æԂ퓽‹-ûrº©èû^‰þË@ ’@ü*8H%¬3ÀlEHuמÛm–w€±ó·™B:³’pÉb{Á‹ÂP¬ç2ÏwÖÙ(…cwŒ°(ž/˜<áBö owt~NHJ•œŒ£‹RÌÜzÔ¤X£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Î/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Äà?ì²’ª0½8e¿…È7X#Úd]“Æú½Ôýp›Caó­X]Y¸a nòRJÛ`§+p™1¢Ð%ý•BŠ÷5† +ÏŽÍ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&^ûCg[,pw:Ò£ýv¨è^1J¨þo¡êÙ!ì£)a-zZv+Í°K#†¾âÎË£oÚFNßÇ›½Ä„ˆ\Ó“Ô³Ž ¯#fvéëœE»Žšõ¯d'LÅ74Ûq¿›ì× =HÔóçî®^ñD—‚M—gí%Rº†‰¿Q˜G«!¥x/5N ¨ä誙ý<ýK Òg§ÑE +ˆ5«SÆ@ÿ8AæßÞ +-æh»ü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¥½–zÖºã3‡#¨ð’G‰nÌögÖ#þÿð‚þÿ þ?A`d0pp²µ6p°„†þ3" +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¥´&U–ZT t—‚К +@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]åä”_Q­kd© kiLj††f +æ榵¨ +Có2 KS=]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úüÄ¡óþÞ^µfÁ«…¿JN(tLº$"«óñÔ²“Øv/»À‘í´sק¯ý²üö5 W¹žö7›.âÙœõeÖ¥ ŽcçÔ"…EE23Cd>ìT`_Ñá8­}謹ý¶sz<%·ÆP¸F $ç¤&•äç&esq§tŸÆ +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€ÄôÌl Llÿ©[:‹[zM-]L,ˆÍŒlœÿÒv¦ÿNòO~ÿâ`•Shýü¯¿ûŸ]E#K;UO 1Óÿ²ÿ«fþ_õ?)9Yzë0ý3ó?Æîÿ^éýÛn;{SK;sb#;S#'Óÿ)üŸT""öÞô̬Äô,ìÿ7f6bnnßÿÝ©fgéè +”#fgbbâbáú—jâêä´sù×øç“ÿ»6³ü'% Ðh ¢$G}A½Å„ePMI´ø½N™â4ÍVh9=¬ˆ +ÿÊðÄ. 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+â†eSÔ•A ³£>¾m2zÆý¬=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{.™Ä‹Áë{©@„‰¶hñƒðiÛo5dØŽN8Û;xÍb–…ïIG/F–$sÞÝ•qåîJM=?å ]Ü÷X n&[,µÇ‰…Â2è,½[ê+‡ª³)«É•½{¦6–פ Â|oί4xsÝ©ÖȘ4oÞŠƒ}‡Pùa¢ù qå~l~Vày{± =kTèÂϾ̥«—ÇÓÝ%Ó‰Yòw­¢Ç¹˜Kb·`%(),êê AV}~pMu³öÚ\XanÄšˆý]m˜³—Ì¡„ìƘ^eÄKŽ^Ý gLΙä7C·¡§Sªçèױɔ#’㧭³ùfC_wˆÕè~Âè Ä8¦$Äâ$Üh»¸.´ÇØ—SÕL•fÙW£ß}¹0$6()§[ƒ¯„‘ZGäºVVzŒV<§ +ø·Áeký#BœèXÆÞt7QPÅÍ‘oôf`¿Á£ðÅòã*²"2Õùn¶Ù/=;!Í8WáI­K$ûÚ³ŽÂžñxn°P¡ +©ŸqD d<¬çˆC˜ æÏiª“%—8*n ðéà~Þ¦TÍ}/d…V׆!PR@ +žm8aJåWH +o”JS¢™b.M 3;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ŽŠî´ùš1Ò@Jshþ‚Ò˜óðæ—o‰QèÛƒéC'hwO-ÆV&’IåßM&°C ´µ˜oIû"}ƒ±ù‘y’†_÷Ì©Qgeè +" ;çA„ží!¤:Õ¾EÔ à¸gÚç²õƒ†ë•€Á–õÈU«º6uE7¬„8à ŠÈ–ÈIÛƒ,J¼c=ÁK<Ïl.;J‘ùÄÝôÓ®¼Ô±m”]M‰Êâq^¶©‹wþm=É–òÑ®,DÓa¦Tr7®L©#âÚÌ BÒÈ aU!t[°s¾ù…ý…1{šé‡±&,µq‡5,ã "ýÓÀzhK9üeÓm&ÿªÈ³GнÅÄuÙÙÀ|µßÎdžÕ +Äž%Ç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…ë„ +¶àë–ôFiÛ(8 »@ÏTnäÌë¥Å|†þÀ…¯&'·Ô-«ÚlïíqÐ-5p~t #¥ü³¯]ÍÁ„Iñ–@³ï;§2ƒTJ¡+Ïžp‹ªŠÈý„°Oóˆf½Šò·¬¿ CÏ1é(ѹ;¤_Pk1¿{Ÿ-3^þl–8˜ j‘kéÒ%¤0ïøÚÕmþÚká/ÿuàƒ¯ˆðŽæ1pêøX8ק¾>£VØGö?·‘†@öê72«s§¬Íc,ÒSg>±¹èfUFëÉ õ)1~‘¬îS„èŸy+Ò ’ô_ÇŽË-'ŠÒ¾ +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 Ç‡ßÕW$¿†±ëÅü¤E”*³Îš)òÓÑÒèdø]‚(„—PÅW¯Þøt­XU´ÿG¯—OߢAÙ‚Û)FB­qöÙÝ@£7ëäJ_&]J¼Øn¹Or§Ú2Ê}Pv‚¿˜õ¬$ÌÒé'áåÙžOÌWu„t—æ`å7‘qý>™{Àq苧$=]Ž°_£Ù¢Ñ•æ8Ý?hö º`×ö@‹Í”ƒ“ì2J¬'DºÂ-$I"·¥ úŽÖÒÛ\A‚ŒÈšù¤˜ó{§M»´ÕÏ£i¢mU?ÿ¡¹É„=¼ìRœGOáöy:¼öö"ï?=ó.¨;Ï9I«ü +ø!ñš½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Í'+¿Ç‚*]ðA±8à +Ë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óÑ‘"dª`+ðíˆ+3sÈíù5‡ÊŽãÒ³æ ;Yµ¿×_€•¸ÀgelG†¢ìîuŸç¹?šj½2G0†¶¢AܶÞ)›K²#O¹}v¤êóü8Zêåqô”z‘)Kô ë5‡‘ þeß•žPâìŸüžuY•ñí•èÙ*‚¨~/™« ú7K<ñç¸@¯÷òîó*þVà÷±Tv+KÏÔ´ÄÒãi2¸ùÀÌÄ-KÝø¶Þeb“Ï,fHl‰N&¼PZp6»¶þÚ¾ö½•Œ,™æH§$vàøh:‹ÇÑÍXKJ„™=ÍÍ NüG/ŽÿcZ8ªƒí&ÙWU?˜m§ÒÊËוÃE½×RênÕ˜¿²$.Lª[º¶õõüÔ0 ½›iM_ßå£ ´.H W¢“w·ì]yŽJáqmOˆ0=RÄ([vL7™5F +> 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®Ÿ–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.èøïñwʦ‰ë´ÔÍ€ØÊF%»ýß„éDÏRPgüÜ¿~*RßîpHÁ¨T9mØÝœ ’7æY7ÁÌ„æGÝä 0ïgv4¨bÉ&ÇLM§Qü›%4³ud¸¨~,Õ¼‚û‚ŽlØóšãvÀÆgçÀ›y¸u`]IvŠ°O ævYˆfuÑåŸ M'Û–&¥ß\Ðâ"…¥y2šw†õ&EGaAÈÈÄbÊ©év,,ËÚ¶a™“[Ê‚/Gr{Nõó·0¾ÏHئNà®XyÿZÝù5•Ü·o/t¨6,0o˜ž-»­¾¤gg{p°&ÊMϪ—C.Ëú+Kú©8õ yeø-ÞsÈpÇn†‹F›G#ÙŽ!wÙN)v¾5G›!ÊÀKÝL7Ñt´É¼6ý“pžR$F¬{O;Ò?ß ¼î +Øx££FUSY+ò³Ã1èo=´ŒñŸöqûðuêå#ƒ!êó% Xý΃+ç¿zð–¬+ÿ@¬<íK~½õ8±pˆ?Ò…ešôXïå)?¤Ms%Ö– æòf’"<ÉÙ…]n`Ý7Ç ÕÇyGÍVWBÞu”Jr,òTÆ€éÂéeí– v8Øm9eÒm˜Ìl{¯¹¿ªu¤“ÀZ‹u°PxpÑ„ïï'˾98í‡ 0£F {T›û5·Tœ<Š~º.æ”I]Ú›ÎF¹pmÔRn¨K}»XG¡ÛL.ÞÙ8d‚ñƒÌ/­Èž¹Jú¾½‡]Æ©Ð +ïÁ þŒ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 þ߸7 HQ”S Q-• €Äîa ¾ä%ŠnÚÁs!®ã0ÈPW¥ŸržOI*Duú, ý“drÔAºz¾- ú·À Æk ü]ى䶜ÉÔAB…ðwJ•K'ö›JLÀë7[Dë½ó­®¬C‡„ÖM4í²‹/0hHè^ v=ÐZ1§‰è@èw/!ïÅsŒŠÏ÷¡¯]½À-œÞÃï4vÓSÐR[»G¨§z,ÕÔ˜ÎÕƒ"M§T™P,r#}­ ¡'=s1„À®z€`AHÎi#çhp&¨Ÿwwä¼ à“¹·îºTXÜUµF5!ÂnÈïMPã ~OáL%TLpùä¢;d5+Ýö,Š!ïàb>2š»é¤’áâmü–Û„©Užî×ÝdÆw•Žv^š‡îX±äš»¿òÛÝÔu!&‰yê""×óãì#9’ãAIîŠoõ¥`ói  ‹àÍþ>+!h9¸v5_=LÒÍyZ„•Ïš¥dãV¯Ç%’>N®¿T°âg³\(rà/mš>Rª¯Ñ§25ðPnt¦´0H÷‚·Vð9ñ5ʯOz,¬ŒmÌoë'Ø`oBô¼j‚»Tà ð‘MLz?Ë=iÊ 6P¦ ¦Ó0wHó3ÚÇ'ÈŽY£i̼î9ᶾTŠ´OJ2ɲ3¦ÙïO¤P/1C! +—$ =öþ¹H6^ìâ¸r×zMAÆÿ¼¦ +é†-›Øüj³¡”Wz×Ö6-(v„ èw¯ Ó©ÍŠ9´õ”×3^FY¶¯QYGq²Û¢X˜ ç€ÌJÌ¢¡ÖG÷†ÉWÀ»ì±(›7wW4hùL»"´+îÈ€LÊaº›ÛóÉ58I1ÑE•?|æ¥êíô¤ÅJáõ9©qÖ¢• ÑÞ”+åŽðfë›H;Y8/-N²Âd + ûŠ"+)fÇRï\CÕÈ/ÞyÏwêUÿ–J€®Š¿: +å‹LH¨UÇKG?2™-øw5yíÄ{T MHã4 â¹ï–=—ˆÀlÓd_5“9M{’ì2˜ã™˜ …_¶¥”=Š¨I½¿±<ŠÉοó²êÞxËo1I$n~éoöêò®'ôèè%ö¥ÿor€C˜Kxí:Sd·|Õ€Š~2`”…Uq¿ÀQŽ÷;*Àóˆ†Þõx !¿Ñ_tÍß|£bÆâì?§ãÃ6ßr•’ƒ­âC·õðOK%•r|B±¿Ÿ“‘†ð¾c „oð\>ò‰Ûaµ+¹xˆ¦¦â/ pÃWå¹¥78¢ËÈfp“X•I³] ­r/Lç Óѱy›¼ h±@-:ŠâÞ¬31ý+–MeåñsÒÒ-âU\5‰ÍOzàŒÝN÷a‡Fûý$UÉÓ4èÎEìøC®®F€ÛR&ÿ_ò›×ø榻ìÜBòs»VôhÕr!öx´11kj°­¤!Mf™¦¬ê Z°oˆ$ +ŠÁ¦@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­(ÌLÎ!k4 ø¤ýI°ºýå¨UÄ„I:ƒ»à3™š‘ÖÓúcЛÓ~¶>w#׳â´wc™ºÓ[Úê™ GƒGÝ«¤(àºícˆ×­ Ĉaá!¦û\|¢õÐÇ6†ø5»:C9|A¤‰«ÚŒ ÷­¼¬I@S­ Oáý›xÅ–/_‹ÛNcRªŠñͺRUŠí¸œôg[ôM0…™9³ÑÁ,-ÜÐoqГ±?à}sÊ—lÛØT?#U¶UO… %‰aÙÚK²ÂûÄZaÕÆÌ—à +^wHSZ超õõ=რ+Ÿ·Ež0´â7…jˆM|v¡š^9‘ë1(é=®í_݉ϰ3ª:†RŽ¬«\¡è¾[Õl¨Tþw—H"’yf R©ÁÔ®¸·IÔš'ªÎÈQ¿[èM´ÃÐŒql†­Æ[Ãè5sŸ¨3QR¯‡‚¾¢ _/Ü2Ás—¡Ÿ‘|¿BV ø~¼lOòWÀÖNÕƺ*:ä·¦‹, ŽgÅŽBÅùù®‚3ý¥oyœOœÛf_òÝhnŸÕ¯Þöy§qxÙ«¢d¤*çˆ AwDìL–-æ¤ÈÈÁ*ÙeZK¨÷§sÉr5‚8Ý./}—RÛf³Ky·Ï’È:£û\ÇàŸ”Q†ÂÜÂJq”Rãå8ŽÒÕìv}õ,äžûl…„¶Fç‘^^ÅÅæ_N„9A>:#”|[xÑY˜¢Ë›Ã“ÊÃéîéXönqØ™þ5oXhf.]ꢗ ã~íºŠ(±>Òæt`¡âDùþ ÆÛ^íW/Ä+øYê,ÞaJº4“WÔA„ö±ý€³ Å•…低ÜÅSqÖlžF!@«’™Îñ!pMÝp)ÌVwœÞ^¹‘o$Ò‰àÚ8SQ÷Öä.×4‚,"¬ž [‹ì äÕ \ ÷§¨ «Bd$MÀÄR°Ñ.¦ì¼Ý`Àh+Ž%"X8u­“êy¿Y*0ŸÂДÛ86c·#á§2V¸>– +ØúòÙY|»0‰bû Õ³G\S’Xq¥t>!Sý~i}õZ]~ùé½±íÑ2WÐ"öUè¶4ÿÓTµ~*-Š€M‡¿»¾v%Øeš–ÒNˆk¶æ"! Ó\ØOÂTÎÓ®^ÌidãÑ4óGÌ8µ1¶‚J,ßDÆÇ7á4 Ë|$JÛƒ?H)¿FqÕW$Ÿ^–À±p¢Ø·R…¶heG¤åktˆ’_Õ§ù”.QPûfyÀìµ£†Hˆd ”´›Á:OæÙôu]mÇ—Æ”Np%¤§_¹¶êI+z +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$‘+ûûëÌg.€«Cl8Úæ[(Á ?å«mÙæªwmm"/0à¸ÎýnŒ“¾?f©k¾„ß²ÏàÂa~ŒÈËÔaSØU‡*û½kwPÚJÇD©ü)É}ìÏíq¤ëžÆW’ó1äMN€ˆ¥©ŠáÛfÍ6Â5¿°œ™õßVQ´Ü´>66ËÂPÉÎz:Lj±»i%µÉ€$ÀpMý˜î’ð"™ß ݉Z±Ó#¤ŽÏ´¯“864Aƒ3ç%0Êe9cq2ä Ž™½;Í4©%­ÑP{šå º X¼ŸèŸŠ£èp.ÌC ųüíRpÅVN݃ÜûÒ‰~/¨èçó£,¬qÞjìM°âßÉ£~¬>ùïØQX7Çtˆ˜>%Ç…][p `7ä¡o²9æPUGG*Lõ)W ®Ë_rj{ût•mùKM‚UýJò£ËW¡Ž‚ñ[ã¹îÀÞ·¼êÔ™Igë?& HÈ\¥\¹êW/¹fRÅ7 ÇUa!iî·èD3¯¡ÏwòO‹ dô^ånˆ°šRO Wf©ãc€™:HèÓI&ù’¦bU!Ê=¹­Iß3cqܯ´UÆ‚ÑŸÆóJjçK/è²@o¹Ã¶ú#Z»¤<ž,‘øµÊ K£nIŸð\h\ú=q:(M5ÁH¦‘*jbãEÚ!|o³¨ ú?oo!›F ”&±Âñ-[X7=Ä ÎLf¼Ølì·ŠTo)¿ûÉ¥ës¸ú ÕHDàûŠ`ügé +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=ñ€Èƒ¼¼ÔpmU³½ëñDÅÁ +¹å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 •{%+Üœ?>UiYxYЃ7s©·ƒèj +ÈU"R^ìØ`Z[•Í†ç¨i¿´éAsÈøqjsêõ2Í)Pð<³ÛÞ¹ê«>j3™ÇF= ¨Ê¬&KãøÌܼ'Pƹ»ÓÈΕ¸ï€¨v"~ï{o¢–èX!ˆ/îÇL©y£»Ÿóëþˇ >mK•és6Ô‚P’B9Õgá~2ì ƒfñHƒ',ýßìoù0‰Ö‹ú! +Èз”àžÄ–g!4”³¿a¯ðËÕK_£ã¡™öj§cy9ˆöu¿ ¡±Mþ¬ç¿‡qŽE;ºå<´*9{’4K«¥¿Òhi9QÏJ K?þõàÁVöÿŽ[št¡´|ïME`=ê[úD n +œ#oP+G+ ñ`ì`ûi¿÷ÄXÑf‚Dîþtì6êI·~˜¼ñ÷HÆ\›-é\»GƒOƒ\0O‘Ü’$ 5ŸÖ‹Ö£ÿn÷a:éœ)o‹°l;—úÁŸ,A'{žü=ZpàJ.+w2“køõí5Ex?l+ UÕž.74w®7^Æ¿2„ £­:½•ÎFgµRé`ËçŒÅæ¬âæQž'‘ÜDN×&I²À Ÿ §WIõ àÑ"ìm~/P4€Òõ +Ò!éÇ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#'u8™ÛÚˆ8yÌÜÜ,a; €™‰‡åŸŽ jkçî`njæ ¥þ—Š l t072°È8™­ÿ112°(Û™Üa++À¯]âøt:¸àà˜™ÆæFNC ©¹ ã¿°¤lLlœÿ•6v¶ûï’ ÐÁñ.Õ¿I©ÿpÛÚX¹Œ&pŒò¶ÿ¬ü‡æÿ1Øÿë?Í%œ­¬ä ¬ÿeÿïfýouks+÷ÿ¡°µ¶sv:äl6ÿ)UþœÐØÜÙú?«RNVæFÂ6¦V@Ó¥Ì%Ì݀ƊæNFf'gà¿Ó@ãÿdø§sÿ&`T—–“W“¢ýÏõ¿ªŠæ6N*îvÿÓö_òÇÌÿwüOÌÝÚLÿ4˜ùá?ã¿gºÿ±š¸‘­±¹)@ÙÉÀÆØÀÁø&þw*[7Oz6= +;€“•ÀÅÄäý¿ÊTmÌíRbv&&&.V–gœ€6NÿÞÿÜïÇ&æÿ4tÁù)+ÉQ]Pm`1aéURP,~”†ùð©r~Yñoĵ¥îyÕQ>Ž +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ùî$ Ä\ÍL¤mN.«1rI†v™ñB¾# Š}9ð5Ñ!qk'Jð .¤hÑÎLqrHEhk‘ÉÁ`ÿé­ð +ÓB*ûÕ}¼ù¬b¸ÐÒ¹•ßSHb…C¿àÚÎ8Š³\ùÕ¶f…ÂfŒRù|0®'±oªuðdz\® +¥¬ŸDÙð”Ïù_ò^ÍŠ˜|ר?Ö‰zScÜ’Iº +!!Qø îØW±¹ëé8Åœ/£„Sò!Í0ÑQù+>µföo‚™b e¹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¶ÒqÜÖá‘H&Uútsïq™ÑwŠø‹V +ì†ü!!@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»:©ÉÁ QïÐ"ú,-Të‰ð°L¹ÐÇêß>×Pt6~uQ¡† dÌM ì3kp1˜sEö˜"ˆ² ×`'Éh1[vŠxÚº˜„‹NÓoÍp?®±çÅ!jÄgï4G…ìhs¾ïF½Òë@J—¿m¸P¼ö$ã‹V\ðïVÇ8Ò:¯ÎXóë«}ÓyÊÉì¡sË©S…ºW6Çtu’;_:f‰Ò<øEÚK‚µ -ô±‚}ħS§Vry7fTá~¹¶éšà½“Ô.…è?aj”ÖéJصB(‘^0€_¨½cieeJñ`ÿ„*êàZMúÕ¤YBZòµÁÁ®_Põ"=)ò·å­À± WÓ¥LÒÂmï6þA¢æ:ÞÕQƒ¶“ß} VÛg)Î( Oûé¯çŸÊ/Z°lHY.…jkÕØ+œcDÕ¶(·á.Ç"Ÿq‹¹™S7µnq°P¨·ÓPcÒeIÂÄ/ï{©¢?‡¬op/©›8‹fe¢¹f[>ðÝƾ#ûP›Í› vVмŸp©‚ñ ÊoöÃÖYÉH¸ûßäæZYl +3Ó#Šò¦µîf”âëm’Æߟï£Ë`z÷>cµË–Üì( Å[møX¯c^hfôÌd€ ü°R±Ÿm);çtWtSÂWòm³þbÓQ§|†õå‚&&DiÑi´žÐ NaHA“pîHX›Äö ëmµ? ì×krê`ÒÛX°¨ÿêð2æð‘#BDùbo¹ H ¸@–M\ +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Ö¥Ÿ"'®@ÄûÜXà)ó{b¯ïŠ¤“j3¨ã!ÇSLaÐÏw! Ôbîk—ñ« Õ•¡ZžŒõÁƒS3¥‡ò©²CÆ.2ÃÜ–o | +ð×â\`L­PáNNj4Êp®æï”ë0ÿŸV‘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Î98tjæ‹!â{ýH6|}æ`§ cZêÌå~îž÷ÇÁÒWDý8”E{PÌ]Ûö¾á"þ¡à¾nF|¸=&*&ÍI;Z(ÝƈÎoÿp+—Öü‘ð¹,hÍž¶›(3£ÖTêum™µ‹ß3ƒúòwÊAlç+蹎i8Íêr¶-$¡žÏªŠí{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>¿åy-*‚]°#Ë1kI‡U +§a¨ùhˆ\`ÌCátïŒZÙ=r¶tÝø¨^LÒn„óëñ9›wö“o¾9¢•vº¯hÛ,xŒg#¤!ʤ§1ŠËT ðºFºàý~Ž`ôáiéz%?“@×b°´ÃLWÅÌ¥aAš• ;j]ÜJ;ü³5—½½¶H*ªÞ¿ÃJ@¼Í8Tî÷RŽc6øÁ ~u\ÏA`þÅÎ{M7&ÍË’¶éPÍë±IPºMA,C‘&Ô'hF•oîŒ.^W¦2ën¤¤IÉ=â¥$Üÿ<æ{¤œRvÅ„Ô[ÌÅ% ãwõçÊp¿ €¤¨.ÖZ(ÓÒ’ëäeW S8Ž.²šbß4FJƒ€:ë +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§ÓŠ"ˆ³$¢AQ;Âh;_t ŠK,Iÿt‡lWg9ÎÔŽ ºù .æàÔíö2±_Û[×™acÖ[ÿ›µpVÉÌp{YYÚõ|îÌ Ö8K{øah¨”ô“4µ+ûb^ _ÎH¾ksQNtÅLƒ>Ó’¶#=QÔå^Ñ´G_™ÕA{qpß–ëCoÇe!øæÈS† =‚ŒæFÚ"Ó—Åø€­5½yÉ()õ‹X­<éž¼eJíœ÷8Q½HAR^Ý`ϖݲ7àRÉèï¡(h‚c ö­B싘@Ϻõsy¢@<è3js¾«¶¿-A¹-cJ6•LaoŽ.øÒÁìyvöÈ}ôÛi>£ßpÙ÷IÌ]¯È§ü}7Š0¿T2ËòkÀ·è¹¾º$f¡[§Öpòg¾_ï¦|ÊÛL]‡¡|gøÛÞõ aõÑ«çÄÍ#1[á8B•Ê@©NÙ ^n¼XSž- ¾7© ¤V6žÖT j#A¿ö‡Lš€^îåuòH™Ò™Ö•’Û¢¾ëµsì(•ÖÏéK„xM9óÚo Þ¤5Üe£k7Qz‚áö«]s¢L©«Ò±0tèa+º”aÑ뛉V”ÐV¢å j?+òPpèJ~öö8750[F|¨–éO/%òמŽ†É³…3JÚÉ ]¢Œ}ö^øw½,Ç=á=g.l8ÑuWIÕàô9ÄòÈ¡À74r½c¹ ª›‚²€Áš)UŸn3ÄúuÐ*›D{âÍŽaIZ +¹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•ÕKÛÁN¤gmz ëAþ’¿)ãŠ7=1-%É>G¿;Ⱦƒ¡Žo{†]oyýþ>)@žŽÃ#”@Ñ$ÕšñX gå@O7gB(øF”Šü5×öZ›>Þ0}¤UêØÔ{Ž(Ïb]x¹ÈtÞ+¹ÞÉ×u55Ra‰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éÝÃÄèë²Æ%„.¥†¿yš†aY®%eN{:½±O¬ÀÆŸùNoÁêòÏ–.= ®AÚW¯55‹b­ÝVPŽºdsÒ`ùlËY +̘eP”˜éNöìÐ…?fÈü¦K-ÛµÚM‡x5 öeË(êac•)Ï£0b¬Åp ¡Ó.œÒ>/G|f¢øàÁ!gÁ <»ÃßØ}ÔæÏOÄnÝG­3H+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ˆ'ɇµÖ½ÓùÓ$£ìzß²{L™ø­ú×¹Š +»—ëé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ý ¼9­l#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§ˆ ¥ô',®Að‘àl… VôgÛ—5[Ú陲qK0ùÝD›x1êî¦p¹3NB+é]v˜Ñ?P°>(w‡}°b¾q·€óæãÒ¿¬aè»3I‰øÔÎÞküàdYoî‰:,«ºe€¤$ûóôV9¼^wE¤ëA ŸSŠ«}¸¯;¸#ñË8cG:ämw?mb_àOÅX-¥´vŸ“•H¤IhŠL³¤%õ¢ÆDÁú¹Ô)^âåôY– e»¯/cç†>ø&a‚WAêZLä¯ Ñéºc¤mÚ†¤”Øyäßxˆjsƒj/7 DwëÀã61NlF›­n#θL²zA·}• »8ƒÁÎk…VÏ…[cþª‘™…öbm UHpCéUƒq$„I9Îêë'¯EÝ2f4F1ÔÓŸþ_Ó60šµè–eK4è@¤=ÂPõ<é%ɹÓ\ŸK×ûßjñÜá¸zôÏSôû)§D‚.ÇvÀžÊ«jÏ~O"xh—ÔsC»N&ÌuÓ[éÌÞÁ/ÌÐŒ(â#†[¶É&i+HjnÂ㣙eK0Á?@fº|wÇH Î2.õçí(ÝßÅ+×±ÈÒð1\lYs``Ph ÜyåqM-Ÿ™HØf¼ ·P™º—.¡L©ÊÀºê]jf +ä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À¾{o‹ðY=ùb\£•ºÎWj.³òº, 2¾ô/ÂÜóp™}¿>¨ª®„AUÀBÄd2öD6BºŸrÚѹRÕ™Û¬tèXRÁ…xepI†Š¾92 Xš)Em}E§ åªø3HÆs]r];^Á¡µ7"^³›Vñ­¶ K‡Œß<2!ÉfÄåÿˆ,¡ ˜Ùx<è=÷MÕØŸ{Á‰¶´yãwàÇ 2I,þ8öLQ·ÐPшϜ©ô^én­ÛØD;vî9¸dÉ2cç6xGÚÞ÷ßj¹^¬¯!è,Ô.Wœû¥ŸêZ¨ŽîQ¬#-h„\¾þ6Ǧ,&oZ”b²ðOwAßj¼þF†é]èÍý¸=b)¥jç0Q/ª©k¿zº ø†«Û+N­rÖ?ÚéŒ~uÿçÕéÙÒÉy^Xb(—³Þ¸#öÖÌz<ôk‚r¡¶Î«4‰þ'#Åá5ŽmI…;&‰ˆ|ä:†S-‘ÑÅÜÑpæÂPýÄ_1ÑH¬bX˜Ð?yþÇ¿êqd× '½Ê°ÞHömæmF+9ª6Ž‡™xnÆl´yd„"1¼wìäXâœf%S0/d„éÎÃèv­ç()Z…côŸzDâ̧#Ìz€¦ÙÚÀÒ.u{ÛÎSŒž›í ÎF­}{åä².é„5È„—jkÍ£ùnЭˆÀ»Öq—¦týšïò‹õî»(þ¢G|­Ü`fƒJ´q1ÉOŠ´ÞË,ó9ÅÆ„M01Óvö{f.eÊÉíñ}¥ÈFÆÂP”VÚ…× ¨›ìÈcòÓ[h2{65Ä–¾¾™ý…ø;;šŒÆqš¡}Š›,Åóe¹/eƒ½ª+cŠ„…Ž[çÍ4s½@ïýéJ´Më¾^ÈØ: nRºR6=6ˆr §L/ÇÈM<[ÚᱠYºìÒ­Bѯ^ØÏ>–eh(FÍ â &ŸŸ1Œ©Z™•«*íO g´h©iX5å£ÁzRàŠ!IÁJ†nÐÚ+_nêËW¯k1\M² Sý;ñd‹¾O Žûç¨a·bzÓÝCÿ³™ ›Ù _‘EèâõöT§Z‘c[tIjvûâb0÷™¦Â²¶çД$ú½…¦Ü5þªµÂ°¢¾Ñ˜ï!_UŽSÖ£ £u˜õQsTG) +ëá»ùË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:æA³ùG1çŠ0¨^Ò Ø×QK¤8%î/fwODó1H¸P9C×tuÎC‘ö-¶°(þÑBÕ%Ö +ÔepW -6¶½QÖ´ŸI%†7ª+NË°_ß‚˜ë|«âŽÄ©× Dpï"#ŠiìéFÓd4^ºˆŒ÷ˆîºÞz¬Ý “Z©GLbÍþݽÄ>ʹÛuO ìâÝ°ŠMÌnŸµ}¬@VýZi³Iu£º\s¼'žbŒÅê^Õ?:±Ç?î¿ Í£ +Ö"ìß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ëC E¯í‹å)epˆhnCÚ´v]É|îÖÏ@ÅþXé-Ûâ´MQŽÓL¤’¼ÙLÐ ³Ióu]íé&g£Gx?ì( LP1Ü»ç~§FâäÒ·H Äcd•r!£ÔzÕšj!¶ªÁ`½÷C¦Ÿgý¥´+;´‘y’˜¹œº¹§?ý’z*(DAÑE÷l6œøŠ:’³¨‰sd?ˆ´:«·.ŒÄwû !`Ü4:$ØOŠ' 8 + +€ô0¶ÙY’Gþ «ƒûá’g’A]ªØ4C©QMæF)  ÷æ)Yj]À\òן”-#Ìý@œjj©=³Xø‚wGÿH‘­7mL‘%š¾÷B +ïõ¤…6øë•&y›qå„'B•Êó‚Ù¿±o°§©}Ö[»<÷ñc‹³ôKòþÕõÙ’²OÌp:×0ÕÂ7š_À=dŒ¤cfßGž¶Á8Œcþ¹¯4éûf»v°öTÈïR|ÑųªåoòSç"À¨KiŠS¬N<ý 5z‰‹LbõÝ–ä^~·ÅÂɺkžìŸÍFj~ ΃Út^Ri¢{Šâ%ãÐxÔt$UR`/úZÖ˜B¤+zY©Û+Þ;!n¬Lóè=õp÷õV¦¼NŠÕfÚ’Ž5ô”©d×"2a·šyÍé[Vfˆ³nd b=]èå#Û£6РVz»v§ u¸¯•K°ŸX†7=™vjÃÎ[Á‰›ÏÞϸLi‚|_q]ÖÜ$"¶(–ö’X›Ô«ZM$Ñ *BP@^ìÀ³Ý{n™šžû¾Hr_1û>Om‘“ šýevªßãôI¸qõ×Þc|ÝZ“¿`xÕg»9·D@ÿ”¾ø,L¤ =[EbLíÃHÒHU¬Wü¡JýÁçÅÁ—äÛb o*r|ï±­×)mÐÄÕ-W¦ %v¬Ø–q±CùfÓ,0¦=–ã?ÊìàÀeñœO<+½^¡É:‘Ó™•±L;ö`ÕðÃöŒ*ž›±eÈu¨%gfiÕ=Ft•Ë‚h´#Œ`’@ĤV¦+žýmü|ÌÅXl÷bÇ ò‚gv +*µ¡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¥´&U–ZT t—‚К +@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åä”_Q­ LCº–¦† +†F¦F +æFµ¨ +Có2 KS=]L , ÍÁ¢É¥EE©y%àÄô0ŒŸ– ¤ÔÔŠÔd®ÙsD3ãudµ¿&|9pU)|׉s77ÌRÚd(éw¾irkS¾ßôØsçŽkë|^Ø1óÌ=ù›¦æ6ZsæÛasß_yç2Þ-ò3ËÖ%Ÿä¸óþì^Ÿ¦· ‹óJÚ“}9æ_‰ú²¸+l‰£Ž5÷ú_¯ «?Ü›ÿ»ª%a¿{TºÄ†ã6á‚®Ô¦•³,úýþ؉ïv³3kï0–™2<²ñç[±èRéZîleÎz¦_ 6òn?×üã ªq–ܸs)_»Ç´3ËÄÿÙ©F&´d–<•±s§Á’ØXþÃÙ¦:&ΫóË'oîÕ©ßy„sueë«qóû³›3t\ü•[¯$r«Sã ÷4c¯KE·Þž+º´rSVïÅŠ'_¿a¾2öuïK½+vpÏx7çn—MøÚÚ¼í+ô_-{Ä÷~¹^)ßoÏø‚Ý‹TIè½1ÿ¸ðè>…éì¢Læ·–íg¾2£)½üÝëD^ÿc]Q,'å$ó'ÐÖýZñ㛾 ñ±lÿ¥>˜¦³uy”×ä›;ŠMwÖ¸®±hlõÕ4Í9Ÿ"KŸäWô<\Ç+îùÐf~ˆôýÿ*-ßæ Zf8x&æ÷ôÄFÆÉÚ^LÛåÄÒ–]ˆQ?6¡È ùi oõvÿÙ–'oTÍvJ¿[2'}諾ïò•íõCvÆþrùš´Ùé©2WÞ’?~öõ® fDŸ†Ü}¡|EÊø:û”ëŒÜD2ÿÞ–ó{!í¸@wéÂëß:CÌ£/Ø~kŸu)¯Þãéç¯̈6 z.|ÿ²Øe‘]Í–‘ÂGl÷v—e{ÆKݪ½|ÓÈå‡V 뇒¤ýKXæÿKžõÃáñ¿ ê3û8ľi|é“9Ä-ùd²ËÃõj¶!;rdÜP¸F $ç¤&•äç&esqƒÎƒ¼ +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 <>}% +\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 new file mode 100644 index 00000000000..5312aab5fc4 Binary files /dev/null and b/Master/texmf-dist/doc/dvipdfm/mwicks.jpeg differ 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 +<> +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 +<> +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 new file mode 100644 index 00000000000..5b64978c1a5 Binary files /dev/null and b/Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.pdf differ 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{<>} \\ +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) <>} \\[\fafter] +constructs a stream object the source of which comes from the string object `\texttt{(string)}'. +The stream dictionary `\texttt{<>}' 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) + <>} +\end{verbatim} + +\begin{itemize} +\item\fbox{\ttfamily pdf:fstream @name (filename) <>} \\[\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 <>} \ merges the dictionary object `\texttt{<>}' 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{<>}'. +\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 <>} \ \ merges the dictionary object `\texttt{<>}' into the stream dictionary of `\texttt{@streamobj}'. The dictionary entries, `\texttt{/Length}' and `\texttt{/Filter}', in the object `\texttt{<>}' 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] <>}} +\par\vspace{\fafter}\noindent +The annotation dictionary is given by `\texttt{<>}' 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{<>}' 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] <>}} +\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 <>} \ 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$ <>} \ adds an outline item to the document. The integer parameter $n$ represents the level of the outline entry (beginning with 1), and `\texttt{<>}' 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$ <>} \ 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 <>} \ merges the dictionary object `\texttt{<>}' 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 <> /ca0.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 @@ + + +A DVI-to-PNG translator + + + + + + + + + +

A DVI-to-PNG translator

+ + + + +
+ +


+Next: , +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-Åke Larsson + +

+ +
+ +


+Next: , +Previous: 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... + +
+ + +
+ +


+Next: , +Previous: Introduction, +Up: Top + +
+ +

2 Installation

+ +

+ + + + +

Installing dvipng should be simple: merely ./configure, +make, and make install. + +

+ +
+ +


+Next: , +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. +

+ +
+ +


+Next: , +Previous: 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. + +

+ + +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +

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. + +

+ +


+Next: , +Previous: 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. See Unable to generate fonts.) + +

Many options are available (see the next section). For a brief summary +of available options, just type + +

     dvipng --help
+
+
+ + +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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)
+     
+
+
+ +


+Previous: 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. See 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. See 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. See 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'. +See 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. See 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. +
+
+ + +
+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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’. See 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}
+
+
+ +


+Next: , +Previous: 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}
+
+
+ +


+Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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. +See Option details. + +

+ +


+Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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, see Common problems. + +

+ +


+Previous: 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 +(see 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 + +
+ +
+ +


+Next: , +Previous: 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 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. + +

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 Hyvä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. +

+ +
+ +


+Next: , +Previous: 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 © 2002-2010 Jan-Åke Larsson + +
+ +


+Previous: Copying, +Up: Top + +
+ +

Index

+ + + diff --git a/Master/texmf-dist/doc/dvipng/dvipng.pdf b/Master/texmf-dist/doc/dvipng/dvipng.pdf new file mode 100644 index 00000000000..ed294dd31cc Binary files /dev/null and b/Master/texmf-dist/doc/dvipng/dvipng.pdf differ 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 @@ + + +Dvips: A DVI-to-PostScript translator + + + + + + + + + + +

Dvips: A DVI-to-PostScript translator

+ + + + +
+

Table of Contents

+ +
+ +
+ +


+Next: , +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. + +

+ +
+ +


+Next: , +Previous: 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. See 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. + + +

+ +


+Next: , +Previous: Why Dvips, +Up: Top + +
+ +

2 Installation

+ +

+ + + + +

Installing Dvips is mostly the same as installing any Kpathsea-using +program. Therefore, for the basic steps involved, +see Installation. + +

For solutions to common installation problems and information on how to +report a bug, see the file kpathsea/BUGS (see Bugs). For solutions to Dvips-specific problems, +see 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, see Color device configuration. + +

+ +
+ + +


+Next: , +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 (see Config files). + +

Dvips configuration files contents and searching are described fully in +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 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.
+
+
+ +


+Next: , +Previous: 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). See 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, see 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 (see Making a font available) to make TFM and VF metrics for +TeX and Dvips to use. Also add them to psfonts.map if +necessary (see 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. + +

+ +

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. + +

+ +


+Previous: 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, see 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. + +

+ +
+ +


+Next: , +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 (see 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 +
+ +
+ +


+Next: , +Previous: 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 (see 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. + +

+ +


+Next: , +Previous: 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. +See Command-line options, and Config files. + +

+ +


+Next: , +Previous: 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 (see Ghostscript installation); it +might be a problem with the printer itself. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Previous: Long documents fail, +Up: Diagnosing problems + +
+ +

2.4.6 Including graphics fails

+ +

+The most common problem with including graphics is an incorrect bounding +box (see 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. + +

+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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. +See Unable to generate fonts.) + +

Many options are available (see the next section). For a brief summary +of available options, just type + +

     dvips --help
+
+
+ + +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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.
+
+ +
+ +


+Previous: 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). See 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 +(see Debug options). You can also control partial downloading on a +per-font basis (see 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. +See TeX directory structure. If Metafont does not understand the mode name, see +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, +see 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’ (see 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’ (see 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 +(see 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. +See 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 ‘`’, see Dynamic creation of graphics) +and config files (via the ‘E’ option, see 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 (see 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’ (see 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. See 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 (see Configuration file commands). + +
+ +
+ +


+Next: , +Previous: 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.) + +

See 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’ +(see 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 (see Supported file formats). + +
DVIPSHEADERS
Default path to search for PostScript header files. Overrides the ‘H’ +config file option (see 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; see MakeTeX script arguments. + +
DVIPSRC
Specifies the name of the startup file (see 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 (see 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 (see Configuration file commands). If not set, +TEXINPUTS is looked for. See Supported file formats. + +
+ +
+ +


+Previous: 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 +(see Config files). + +

For information about installing these files, including a prototype file +you can copy, see config.ps installation. + +

+ + + +

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 +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 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. + +

+ +


+Previous: 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. See Config file paper sizes. + +
a*
Memory conservation. Same as ‘-a’, see Option details. + +
b #copies
Multiple copies. Same as ‘-b’, see Option details. + +
c filename
Include filename as an additional configuration file, read +immediately. + +
D dpi
Output resolution. Same as ‘-D’, see Option details. + +
e num
Max drift. Same as ‘-e’, see 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’, see Option details. + +
G*
Shift low-numbered characters; obsolete. Same as ‘-G’, +see Option details. + +
h header
Prepend header to output. Same as ‘h-’, see 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’, see Option details. + +
j*
Partially download Type 1 fonts. Same as ‘-j’, see Option details. + +
K*
Remove comments from included PostScript files. Same as ‘-K’, +see 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’, see 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’, see Option details. + +
o name
Send output to name. Same as ‘-o’, see 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’, see 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. See Supported file formats. + +
q*
Q
Run quietly. Same as ‘-q’, see Option details. + +
r*
Page reversal. Same as ‘-r’, see 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’, see 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’, see 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’ (see Option details). + +
Y num
Vertical resolution. Same as ‘-Y’ (see Option details). + +
Z*
Compress bitmap fonts. Same as ‘-Z’ (see Option details). + +
z*
Disables execution of system commands, like ‘-R’ +(see Option details). If ‘-R’ is specified +on the command line, that takes precedence. + +
+ +
+ +


+Next: , +Previous: 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. + +

+ + + +

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 (see 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. + +

+ +


+Next: , +Previous: 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. + +

+ +

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 (see 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 +

+ +
+ +


+Next: , +Previous: 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. + +

+ + + +

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. + +

+ +
+ +


+Next: , +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. + +

+ + +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: \includegraphics, +Up: PostScript figures + +
+ +

5.1.3 Using the EPSF macros

+ +

+If you are using LaTeX 2e, use the ‘graphics’ or ‘graphicx’ +package. See \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
+
+ + +
+ +


+Next: , +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 (see PostScript hooks), + +

+ +


+Previous: 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
+
+
+ +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +

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 (see MetaPost). + +

+ +


+Next: , +Previous: 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. + +

+ + + +

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. + +

+ +

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. See 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.) + +

+ +

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 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. + +

+ +


+Next: , +Previous: Header files, +Up: Interaction with PostScript + +
+ +

5.3 Literal PostScript

+ +

+You can include literal PostScript code in your document in several ways. + +

+ +
+ + +


+Next: , +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: + +

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. + +

+ +


+Next: , +Previous: " 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. + +

+ +


+Next: , +Previous: 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}
+
+
+ +


+Next: , +Previous: 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. + +

+ +


+Previous: 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
+
+
     \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}
+
+

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. + +

+ +


+Previous: 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 +(see 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, see 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/. + +

+ +
+ +


+Next: , +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 (see 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, +see 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. + +

+ +


+Previous: 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 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. + +

+ +


+Next: , +Previous: 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 (see Installation). This chapter is +therefore relevant only if you are installing new PostScript fonts not +supplied with Dvips. (Or if you're curious.) + +

+ + + +

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. + +

+ +
+ +


+Next: , +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; see 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 (see 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 (see 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. +See Invoking afm2tfm. + +

+ +


+Next: , +Previous: 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.) + +

+ +


+Next: , +Previous: 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, +see 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. See vftovp invocation, and 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. +See 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 +(see dvicopy invocation). This is useful if you are +using a DVI translator that doesn't understand vf's itself. + +

+ +


+Next: , +Previous: 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 (see Glyph files) tells how. Nor does it +specify how much space that character occupies; that information is in a +metric file (see 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. See 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. + +

+ +


+Previous: 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 (see 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 (see 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. (See 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. + +

+ +


+Next: , +Previous: 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. See PostScript font installation, for pointers to +the prebuilt fonts. + +

Installation of a PostScript font proceeds in three steps. See 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 (see 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 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). See 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 (see 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. + +

+ +


+Next: , +Previous: 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, +see unixtex.ftp). + +

+ +
+ +


+Next: , +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, see Encodings). The +‘-t’ option changes the TeX encoding, ‘-p’ changes the +PostScript encoding, and ‘-T’ changes both simultaneously, as +detailed in the sections below. + +

+ + + +
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.) + +

+ +
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 (see 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. + +

+ +
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. + +

+ +
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. + +

+ +
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 ;
+
+
+ +


+Next: , +Previous: 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. + +

+ +


+Previous: 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 (see 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. +See 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’. +See 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. +
+ +
+ + +


+Previous: 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, see Header files) if the DVI file (or a virtual +font, see 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"
+
+

See 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 (see 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. +See 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. + +
+ +
+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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 +(see 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. + +

+ + +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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 (see 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. + +

+ +


+Previous: 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. + +

+ +
+ +


+Next: , +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.) + +

+ +


+Previous: 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. + +

+ +


+Previous: Color, +Up: Top + +
+ +

Index

+ + + + diff --git a/Master/texmf-dist/doc/dvips/dvips.pdf b/Master/texmf-dist/doc/dvips/dvips.pdf new file mode 100644 index 00000000000..94b17e2aaf4 Binary files /dev/null and b/Master/texmf-dist/doc/dvips/dvips.pdf differ diff --git a/Master/texmf-dist/doc/extconv/extconv.pdf b/Master/texmf-dist/doc/extconv/extconv.pdf new file mode 100644 index 00000000000..0e0f4569928 Binary files /dev/null and b/Master/texmf-dist/doc/extconv/extconv.pdf differ 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{% +ap'odexic <'hde, 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 oit'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 +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| 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'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 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 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 +adikhm'atwn pr~wton to~uto >'arxai. met`a d`e +ta~uta u g`ar >'eqousi to>'unoma >aphg'hsasjai) +fas`i t~hc Foin'ikhc >ec T'uron prossq'ontac 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, +ec t`hn it'eein te d'ikac t~hc +apait'eein t`hn jugat'era. to`uc d`e ud`e >eke~inoi >Io~uc t~hc >Arge'ihc >'edos'an sfi d'ikac t~hc +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 oek t~hc 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 uto~u agg'elouc +>apait'eein te it'eein. to`uc d'e, +pro"isqom'enwn ta~uta, prof'erein sfi Mhde'ihc t`hn 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} + +a-p'o-de-xic <'h-de, +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 oi-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 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| 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'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 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 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 a-di-kh-m'a-twn pr~w-ton to~u-to +>'ar-xai. me-t`a d`e ta~u-ta 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 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, ec t`hn i-t'e-ein te d'i-kac t~hc +a-pai-t'e-ein t`hn ju-ga-t'e-ra. to`uc d`e +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 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 oek t~hc +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 u-to~u ag-g'e-louc >a-pai-t'e-ein te +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 +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{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 'elegen <'oti '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. Oekklhs'ian >ap'hggelon ta~uta; oeqal'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 oap'hggelon. andr`i 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 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 'e-le-gen <'o-ti '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. +Oek-klh-s'i-an >a-p'hg-ge-lon ta~u-ta; oe-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 oa-p'hg-ge-lon. an-dr`i 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 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, apod'edeiktai; >ako~usai d`e ka`i per`i t~wn >'allwn 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 >'eth, ka`i <`ex t'alanta +>an'hlwsa. ka`i tosa'utac dap'anac dapan'wmenoc ka`i kaj'' 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 eqor'hgoun purriqista~ic >agene'ioic, ka`i >an'hlwsa 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, 'arist'a moi >'eplei pant`oc +to~u stratop'edou. tekm'hrion d`e to'utou 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, +a-po-d'e-dei-ktai; >a-ko~u-sai d`e ka`i pe-r`i t~wn +>'al-lwn 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-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'' 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 +e-qo-r'h-goun pur-ri-qi-sta~ic >a-ge-ne'i-oic, ka`i >a-n'h-lw-sa +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, '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 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 ~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 oall'' e~hsan d'' o`h sunhgor'ia +t~wn pa'idwn. <'ojen e>i'wjei l'egein pr`oc 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 +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 en ta~ic >eleujer'ioic ka`i >aste'iaic legom'enac +diatriba~ic hnegk'azeto fortik'wteron >am'unesjai, l'egwn <'oti l'uran m`en +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 ~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 '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 oap`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 an'wmaloc >~hn ka`i +>ast'ajmhtoc, <'ate t~h| f'usei kaj'' a'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, ut`oc 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 uto~u, j'anaton d`e +t~hc mhtr`oc 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 oapotr'epwn a>ut`on epede'iknue pr`oc t~h| jal'atth| t`ac palai`ac tri'hreic >errim'enac +ka`i parorwm'enac, 'aqrhstoi fa'inwntai, t~wn poll~wn eq'ontwn. } + +\mytext + +\bigskip + +%\showhyphens{\mytext} +%\end{document} + +>'E-ti d`e pa~ic >`wn ~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 oall'' e~h-san d'' o`h sun-h-go-r'i-a t~wn pa'i-dwn. <'o-jen +e>i-'w-jei l'e-gein pr`oc 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 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 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 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 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 ~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 '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 oa-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 an-'w-ma-loc >~hn +ka`i >a-st'a-jmh-toc, <'a-te t~h| f'u-sei kaj'' a'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, u-t`oc +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-to~u, j'a-na-ton d`e t~hc mh-tr`oc 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 oa-po-tr'e-pwn a>u-t`on 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, 'a-qrh-stoi fa'i-nwn-tai, t~wn pol-l~wn +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'' 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 +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 +'Istroc; diaire~i g`ar o<~utoc +<'apasan eggut'atw d'iqa t`hn leqje~isan g~hn, m'egistoc t~wn kat`a +t`hn E>ur'wphn potam~wn, 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 +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 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 ekt`oc to~u >'Istrou; +pol`u g`ar ep`i j'atera mer~wn >estin. +\par {} +e>uj`uc to'inun t`a p'eran to~u 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 uto~ic j'esjai to>'unoma +`an gnhs'iouc Gal'atac fr'azein boul'omenoi; gn'hsioi g`ar o'esti d`e t`a m`en pr~wta m'erh t~hc q'wrac ta'uthc t`a pr`oc t~w| +ekbol~wn >ap`o t~hc phg~hc >arxam'enoic; sqed`on +d'e ti ka`i to~ut'' >'esti t`o ic t`hn Keltik`hn met'hgagon +'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 'Albioc potamo~u, <`oc par'allhl'oc pwc +>eke'inw| 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, ap`o n'otou pr`oc borr~an ka`i t`on >wkean'on. >ex~hrtai g`ar +'Alpesi poie~i `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 '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 ep'esth g`ar to~ic pr'agmasin o<~utoc >ex >idi'wtou +met`a t`hn >ek ep'anodon; n'eoc g`ar >~hn >enj'ade ka`i +e>uergete~ito 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, '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 'Albioc; m'eroc d'e ti +a>ut~wn ka`i p'eran to~u >'Albioc n'emetai, kaj'aper 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 eke'inouc mimo'umenoi t`a +o>ike~ia ta~ic 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 elatt'onwn. >'esti d`e ka`i S'alac +potam'oc, o<~u metax`u ka`i to~u etele'uthsen 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 ek poliork'iac e<~ile. +\par +gn'wrima d`e ta~uta kat'esth t`a >'ejnh polemo~unta pr`oc ~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 i >ep'etrepe to~ic +strathgo~ic 'Albin metio~usi to`uc +>eke~ise >apanistam'enouc. nun`i d'' e>upor'wteron en qers`i p'olemon, e>i t~wn >'exw to~u >'Albioc kaj'' '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 'eqontec 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 apist'ia m'ega >'ofeloc, oOu'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 uadelf`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'eti d`e +Ses'ijakoc, Segim'hrou uukrom'hrou jugat`hr adelfo~u uArmen'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 '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 'i tic +e>ujuporo'usac >'eqoi t`ac an'agkh. +\par {} +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 'Istrou phg`h ka`i amfo~in l'imnh ka`i t`a <'elh t`a >ek to~u +'esti d'' `h pentakos'iwn, d'iarma d`e >egg`uc diakos'iwn. >'eqei d`e +ka`i n~hson, <~h| >eqr'hsanto 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 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. 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 oOuindoliko'i, o>iko~usin >orop'edia. Alpe'iwn an'isqousi ka`i +p`roc t`hn >Ital'ian perine'uousin, oInso'ubroic sun'aptontec +oAkulh'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'' 'eqetai d`e k>ake~inoc ut~wn.} + +\mytext + +\bigskip + +%\showhyphens{\mytext} +%\end{document} + +e>i-rh-k'o-si d'' 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 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 'I-stroc; di-ai-re~i g`ar o<~u-toc <'a-pa-san +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, 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 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 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 +e-kt`oc to~u +>'I-strou; po-l`u g`ar 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 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 u-to~ic j'e-sjai to>'u-no-ma `an +gnh-s'i-ouc Ga-l'a-tac fr'a-zein bou-l'o-me-noi; gn'h-si-oi g`ar o'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| +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 ic t`hn +Kel-ti-k`hn me-t'h-ga-gon '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 +'Al-bi-oc po-ta-mo~u, <`oc pa-r'al-lh-l'oc pwc +>e-ke'i-nw| 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, 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 'Al-pe-si poi-e~i `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 '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 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 e-p'a-no-don; n'e-oc g`ar >~hn >en-j'a-de ka`i e>u-er-ge-te~i-to 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, '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 '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 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 e-ke'i-nouc mi-mo'u-me-noi t`a o>i-ke~i-a ta~ic 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 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 e-te-le'u-th-sen 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 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 +~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 +i >e-p'e-tre-pe to~ic stra-th-go~ic '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 en qer-s`i p'o-le-mon, e>i t~wn >'e-xw to~u +>'Al-bi-oc kaj'' '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 'e-qon-tec 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 a-pi-st'i-a m'e-ga >'o-fe-loc, oO-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 ua-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'e-ti +d`e Se-s'i-ja-koc, Se-gi-m'h-rou uu-kro-m'h-rou ju-ga-t`hr +a-del-fo~u uAr-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 '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 +'i tic +e>u-ju-po-ro'u-sac >'e-qoi t`ac a-n'ag-kh. + +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 'I-strou ph-g`h ka`i am-fo~in l'i-mnh ka`i t`a <'e-lh t`a >ek to~u +'e-sti d'' `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 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 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. 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 oO-uin-do-li-ko'i, o>i-ko~u-sin +>o-ro-p'e-di-a. Al-pe'i-wn +a-n'i-sqou-si ka`i p`roc t`hn >I-ta-l'i-an +pe-ri-ne'u-ou-sin, oIn-so'u-broic sun-'a-pton-tec oA-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'' 'e-qe-tai d`e k>a-ke~i-noc +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 new file mode 100644 index 00000000000..c8bf6dec563 Binary files /dev/null and b/Master/texmf-dist/doc/generic/elhyphen/anc-test.pdf differ diff --git a/Master/texmf-dist/doc/generic/elhyphen/ancient.pdf b/Master/texmf-dist/doc/generic/elhyphen/ancient.pdf new file mode 100644 index 00000000000..01ee0179519 Binary files /dev/null and b/Master/texmf-dist/doc/generic/elhyphen/ancient.pdf differ 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 +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 +ape2k1l % >apek-lanj'anomai +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 +arpax-'andra (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 +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. +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 (i2s1p'wt % o>is-p'wth +o>i2s1pwt +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 +'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 new file mode 100644 index 00000000000..bbbaf63831f Binary files /dev/null and b/Master/texmf-dist/doc/generic/elhyphen/compound.pdf differ 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 new file mode 100644 index 00000000000..8b211673e84 Binary files /dev/null and b/Master/texmf-dist/doc/generic/elhyphen/modern.pdf differ diff --git a/Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf b/Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf new file mode 100644 index 00000000000..fea845b5601 Binary files /dev/null and b/Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf differ 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 +% 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 +# 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<hyphenated.length + hyphenated.length.times{|i| + pattern<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] +# 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<key.length + key.length.times{|i| + pattern<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] #{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 @@ + + +Gzip User's Manual + + + + + + + + + +

Gzip User's Manual

+
+


+Up: (dir) +
+
+ + + +
+


+Next: , +Up: Top +
+
+ +

GNU GENERAL PUBLIC LICENSE

+ +
Version 2, June 1991
+ +
     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.
+
+

Preamble

+ +

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. + +

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. + +

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. + +

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. + +

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. + +

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. + +

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. + +

The precise terms and conditions for copying, distribution and +modification follow. + +

    +
  1. 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”. + +

    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. + +

  2. 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. + +

    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. + +

  3. 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: + +
      +
    1. You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + +
    2. 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. + +
    3. 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.) +
    + +

    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. + +

    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. + +

    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. + +

  4. 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: + +
      +
    1. 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, + +
    2. 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, + +
    3. 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.) +
    + +

    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. + +

    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. + +

  5. 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. + +
  6. 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. + +
  7. 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. + +
  8. 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. + +

    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. + +

    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. + +

    This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +

  9. 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. + +
  10. 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. + +

    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. + +

  11. 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. + +
  12. 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. + +
  13. 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. +
+ +

How to Apply These Terms to Your New Programs

+ +

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. + +

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. + +

     one line to give the program's name and an idea of what it does.
+     Copyright (C) 19yy  name of author
+     
+     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.
+
+

Also add information on how to contact you by electronic and paper mail. + +

If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + +

     Gnomovision version 69, Copyright (C) 19yy name of author
+     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.
+
+

The hypothetical commands show w and show c should show +the appropriate parts of the General Public License. Of course, the +commands you use may be called something other than show w and +show c; they could even be mouse-clicks or menu items—whatever +suits your program. + +

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: + +

     Yoyodyne, Inc., hereby disclaims all copyright
+     interest in the program `Gnomovision'
+     (which makes passes at compilers) written
+     by James Hacker.
+     
+     signature of Ty Coon, 1 April 1989
+     Ty Coon, President of Vice
+
+

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. + +

+


+Next: , +Previous: Copying, +Up: Top +
+
+ +

1 Overview

+ +

+gzip reduces the size of the named files using Lempel-Ziv coding +(LZ77). Whenever possible, each file is replaced by one with the +extension .gz, while keeping the same ownership modes, access and +modification times. (The default extension is -gz for VMS, +z 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. gzip will only attempt to compress regular files. In +particular, it will ignore symbolic links. + +

If the new file name is too long for its file system, gzip +truncates it. gzip 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. + +

By default, gzip keeps the original file name and timestamp in +the compressed file. These are used when decompressing the file with the +-N option. This is useful when the compressed file name was +truncated or when the time stamp was not preserved after a file +transfer. + +

Compressed files can be restored to their original form using gzip -d +or gunzip or zcat. 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. + +

gunzip takes a list of files on its command line and replaces +each file whose name ends with .gz, .z, .Z, +-gz, -z or _z and which begins with the correct +magic number with an uncompressed file without the original extension. +gunzip also recognizes the special extensions .tgz and +.taz as shorthands for .tar.gz and .tar.Z +respectively. When compressing, gzip uses the .tgz +extension if necessary instead of truncating a file with a .tar +extension. + +

gunzip can currently decompress files created by gzip, +zip, compress or pack. The detection of the input +format is automatic. When using the first two formats, gunzip +checks a 32 bit CRC (cyclic redundancy check). For pack, +gunzip checks the uncompressed length. The compress format +was not designed to allow consistency checks. However gunzip is +sometimes able to detect a bad .Z file. If you get an error when +uncompressing a .Z file, do not assume that the .Z file is +correct simply because the standard uncompress does not complain. +This generally means that the standard uncompress does not check +its input, and happily generates garbage output. The SCO compress +-H format (lzh compression method) does not include a CRC but +also allows some consistency checks. + +

Files created by zip can be uncompressed by gzip only if +they have a single member compressed with the 'deflation' method. This +feature is only intended to help conversion of tar.zip files to +the tar.gz format. To extract zip files with several +members, use unzip instead of gunzip. + +

zcat is identical to gunzip -c. zcat +uncompresses either a list of files on the command line or its standard +input and writes the uncompressed data on standard output. zcat +will uncompress files that have the correct magic number whether they +have a .gz suffix or not. + +

gzip uses the Lempel-Ziv algorithm used in zip 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 compress), Huffman +coding (as used in pack), or adaptive Huffman coding +(compact). + +

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 gzip 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. gzip preserves the mode, +ownership and timestamps of files when compressing or decompressing. + +

+


+Next: , +Previous: Overview, +Up: Top +
+
+ +

2 Sample Output

+ +

+Here are some realistic examples of running gzip. + +

This is the output of the command gzip -h: + +

     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.
+
+

This is the output of the command gzip -v texinfo.tex: + +

     texinfo.tex:             71.6% -- replaced with texinfo.tex.gz
+
+

The following command will find all gzip files in the current +directory and subdirectories, and extract them in place without +destroying the original: + +

     find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh
+
+
+


+Next: , +Previous: Sample, +Up: Top +
+
+ +

3 Invoking gzip

+ +

+The format for running the gzip program is: + +

     gzip option ...
+
+

gzip supports the following options: + +

+
--stdout
--to-stdout
-c
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. + +
--decompress
--uncompress
-d
Decompress. + +
--force
-f
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 gzip, and if the option --stdout is also +given, copy the input data without change to the standard output: let +zcat behave as cat. If -f is not given, and +when not running in the background, gzip prompts to verify +whether an existing file should be overwritten. + +
--help
-h
Print an informative help message describing the options then quit. + +
--list
-l
For each compressed file, list the following fields: + +
          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
+     
+

The uncompressed size is given as -1 for files not in gzip +format, such as compressed .Z files. To get the uncompressed size for +such a file, you can use: + +

          zcat file.Z | wc -c
+     
+

In combination with the --verbose option, the following fields are also +displayed: + +

          method: compression method (deflate,compress,lzh,pack)
+          crc: the 32-bit CRC of the uncompressed data
+          date & time: time stamp for the uncompressed file
+     
+

The crc is given as ffffffff for a file not in gzip format. + +

With --verbose, the size totals and compression ratio for all files +is also displayed, unless some sizes are unknown. With --quiet, +the title and totals lines are not displayed. + +

--license
-L
Display the gzip license then quit. + +
--no-name
-n
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 gzip +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. + +
--name
-N
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. + +
--quiet
-q
Suppress all warning messages. + +
--recursive
-r
Travel the directory structure recursively. If any of the file names +specified on the command line are directories, gzip will descend +into the directory and compress all the files it finds there (or +decompress them in the case of gunzip). + +
--suffix suf
-S suf
Use suffix suf instead of .gz. Any suffix can be +given, but suffixes other than .z and .gz 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: + +
          gunzip -S "" *        (*.* for MSDOS)
+     
+

Previous versions of gzip used the .z suffix. This was changed to +avoid a conflict with pack. + +

--test
-t
Test. Check the compressed file integrity. + +
--verbose
-v
Verbose. Display the name and percentage reduction for each file compressed. + +
--version
-V
Version. Display the version number and compilation options, then quit. + +
--fast
--best
-n
Regulate the speed of compression using the specified digit n, +where -1 or --fast indicates the fastest compression +method (less compression) and --best or -9 indicates the +slowest compression method (optimal compression). The default +compression level is -6 (that is, biased towards high compression at +expense of speed). +
+ +
+


+Next: , +Previous: Invoking gzip, +Up: Top +
+
+ +

4 Advanced usage

+ +

+Multiple compressed files can be concatenated. In this case, +gunzip 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. + +

This is an example of concatenating gzip files: + +

     gzip -c file1  > foo.gz
+     gzip -c file2 >> foo.gz
+
+

Then + +

     gunzip -c foo
+
+

is equivalent to + +

     cat file1 file2
+
+

In case of damage to one member of a .gz 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: + +

     cat file1 file2 | gzip > foo.gz
+
+

compresses better than + +

     gzip -c file1 file2 > foo.gz
+
+

If you want to recompress concatenated files to get better compression, do: + +

     zcat old.gz | gzip > new.gz
+
+

If a compressed file consists of several members, the uncompressed +size and CRC reported by the --list option applies to the last member +only. If you need the uncompressed size for all members, you can use: + +

     zcat file.gz | wc -c
+
+

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 tar or zip. GNU tar supports the -z +option to invoke gzip transparently. gzip is designed as a +complement to tar, not as a replacement. + +

+


+Next: , +Previous: Advanced usage, +Up: Top +
+
+ +

5 Environment

+ +

+The environment variable GZIP can hold a set of default options for +gzip. These options are interpreted first and can be overwritten by +explicit command line parameters. For example: + +

     for sh:    GZIP="-8v --name"; export GZIP
+     for csh:   setenv GZIP "-8v --name"
+     for MSDOS: set GZIP=-8v --name
+
+

On Vax/VMS, the name of the environment variable is GZIP_OPT, to +avoid a conflict with the symbol set for invocation of the program. + +

+


+Next: , +Previous: Environment, +Up: Top +
+
+ +

6 Using gzip on tapes

+ +

+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 gunzip for decompression, +gunzip detects that there is extra trailing garbage after the +compressed data and emits a warning by default. You have to use the +--quiet option to suppress the warning. This option can be set in the +GZIP environment variable, as in: + +

     for sh:    GZIP="-q"  tar -xfz --block-compress /dev/rst0
+     for csh:   (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0)
+
+

In the above example, gzip is invoked implicitly by the -z +option of GNU tar. Make sure that the same block size (-b +option of tar) is used for reading and writing compressed data on +tapes. (This example assumes you are using the GNU version of +tar.) + +

+


+Next: , +Previous: Tapes, +Up: Top +
+
+ +

7 Reporting Bugs

+ +

+If you find a bug in gzip, please send electronic mail to +bug-gzip@gnu.org. Include the version number, +which you can find by running gzip -V. Also include in your +message the hardware and operating system, the compiler used to compile +gzip, +a description of the bug behavior, and the input to gzip that triggered +the bug. + +

+


+Previous: Problems, +Up: Top +
+
+ +

Concept Index

+ + + + + + diff --git a/Master/texmf-dist/doc/gzip/gzip.pdf b/Master/texmf-dist/doc/gzip/gzip.pdf new file mode 100644 index 00000000000..bf19bbd312f Binary files /dev/null and b/Master/texmf-dist/doc/gzip/gzip.pdf differ diff --git a/Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf b/Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf new file mode 100644 index 00000000000..16776ba4881 Binary files /dev/null and b/Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf differ 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 '. 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 '. + + 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[]{} + 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 + +> %.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 +***** + +[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" 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) + + 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 . + + Questions, suggestions for new features, pleas for help, and/or +praise should go to . For more information on this +mailing list, send a message with just the word `help' as subject or +body to or look at +`http://lists.nongnu.org/mailman/listinfo/dvipng'. + + Offers to support further development will be appreciated. For +developer access, ask on . + + 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 +. + + + +Copyright (C) 2002-2010 Jan-AAke Larsson + + +File: dvipng.info, Node: Index, Prev: Copying, Up: Top + +Index +***** + +[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 + % 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 + 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 + . + + + + [1] [2] [3] [4] + + An entry like "" 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 (), Tanmoy Bhattacharya, and Paul +Ginsparg originally proposed and implemented the following: + html: + html: + html: + html: + html: + + 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:} + 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:}\TeX\ Users + Group\special{html:} + 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:}Paradise\special{html:} + 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 ' 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 `, 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 +***** + +[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 . + +* 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 . + + 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 . 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 + with a message whose body contains a line + + subscribe YOU@YOUR.PREFERRED.ADDRESS + +or visit . + + David Walden had reported his experience with Eplain as a new user. +The article is available online at +. An introductory article +(written for TUGboat) is also available online at +. + + +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 +. + + 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 . + + 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 ) +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 . + \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 +. + + 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 +. 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 + +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 +. + + +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 +. + + +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 +). 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 +. + + +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' +() +from the LaTeX graphics collection, written by David Carlisle and +Sebastian Rahtz (the collection is available at +). +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') + + + 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)') + + + 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 + . 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 + ); + + 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 + . + *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 + + +epstopdf ('2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)') + + + 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)') + + + 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)') + + + 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.') + + + 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 + + + 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)') + + +xcolor ('2005/06/06 v2.03 LaTeX color extensions (UK)') + + + +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 ), 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 ). 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 + + + + +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:}% + \special{html:}} + \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:}} + \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 <>}} + \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 +(). + + +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 . + +* 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') +============================= + +[image src="xhyper.jpg"] + +% (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') +========================================================== + +[image src="lscommnt.jpg"] + +% (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 +*********** + +[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 +************* + +[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 new file mode 100644 index 00000000000..0ede27f4058 Binary files /dev/null and b/Master/texmf-dist/doc/info/epspdf.info differ 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 +. Email 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 . +% 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" 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 +************* + +[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 + 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 + 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 . + + 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 +. To join, email 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 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 ', 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 +***** + +[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, `\' y `\' 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} -> +\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 +******************* + +[index] +* 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 +*********************** + +[index] +* 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 +. + + 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' + 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, '\' and '\' 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 {\small[er] fred} % please use! +\cs{fred} -> \fred +\env{fred} -> \begin{fred} +\meta{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 +************* + +[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: 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) +* 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: + . + +`\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 +. 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 . + 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 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, + + + 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: +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 +. 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 + / name of a package + bst/ BibTeX style files + base/ base distribution (e.g., `plain.bst', `acm.bst') + misc/ single-file styles + / name of a package + doc/ see Section *Note Documentation:: and the summary below + fonts/ font-related files + / file type (e.g., `pk') + / type of output device (for `pk' and `gf' only) + / name of a font supplier (e.g., `public') + / name of a typeface (e.g., `cm') + dpi/ font resolution (for `pk' and `gf' only) + / 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') + / name of a package (e.g., `mfpic') + metapost/ MetaPost input and support files + base/ base distribution (e.g., `plain.mp') + misc/ single-file packages + / name of a package + support/ support files for MetaPost-related utilities + mft/ `MFT' inputs (e.g., `plain.mft') + / TeX-related programs, by name (e.g., `dvips') + source/ program source code by name (e.g., `latex', `web2c') + tex/ TeX input files + / name of an engine (e.g., `aleph'); can also be lower + / 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' + / 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'). + / 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' + / name of a TeX format (e.g., `generic', `latex') + base/ for the base distribution + misc/ for contributed single-file package documentation + / 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 + / 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 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: + + / 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 and 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 {}' + 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 +.) + + 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 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 +***** + +[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 @@ + + +Kpathsea: A library for path searching + + + + + + + + + + +

Kpathsea: A library for path searching

+
+

Table of Contents

+
+
+ + + +
+ +


+Next: , +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. + +

+ +
+ +


+Next: , +Previous: 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: + +

+ +

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 (see 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. + +

+ +
+ +


+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. + +

+ +


+Next: , +Previous: 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 Common problems, a copy of which is in the file kpathsea/BUGS. + +

+ +
+ +


+Next: , +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 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). See 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. + +

    See Kpathsea application distributions. + +

  3. When using the default search paths, there is no need to edit any +distribution files. See 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’.) +See Running configure. + +
  5. make’. See 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’. See Installing files. + +
  7. make distclean’. See 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
    +
    +

    See Filename database generation, and 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. +See Installation. If you have any color printers, +see 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 mktex configuration. + +

    See 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. See Installation testing. +
+ +
+ +


+Next: , +Previous: 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: +

+ +

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. + +

+ + + +

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 +
+ +

+ +


+Next: , +Previous: 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. + +

+ +

2.2.3 Changing search paths

+ +

If the search paths for your installation differ from the standard +TeX directory structure (see Introduction), 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. See 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. + +

+ + + +
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’. + +

See mktex script arguments, for how this interacts with mktexpk. + +

See TeX directory structure, for a +description of the default arrangement of the input files that comprise +the TeX system. + +

+ +


+Previous: 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.) +

+ +
+ +


+Next: , +Previous: 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 (see 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’. +See configure options. + +

+ +
+ +


+Next: , +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 (see 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. +
+ +
+ +


+Next: , +Previous: configure shells, +Up: Running configure + +
+ +
2.2.4.2 configure options
+ +

+For a complete list of all configure options, run ‘configure +--help’ or see Running configure scripts, (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 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. See mktex configuration. + +
--enable-shared
Build Kpathsea as a shared library, and link against it. Also build the +usual static library. See 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. +
+ +
+ +


+Next: , +Previous: 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 +Makefiles or by configure. + +
LDFLAGS
Additional options to give to the loader. LDFLAGS comes before +any other linker options. + +
LIBS
Additional libraries to link with. +
+ +
+ +


+Next: , +Previous: 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 TeX or Metafont failing. +

+ +
+ +


+Previous: 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.) + +

+ +


+Next: , +Previous: 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 +(see 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. + +

+ +


+Next: , +Previous: Running make, +Up: Custom installation + +
+ +

2.2.6 Installing files

+ +

+The basic command is the usual make install. For security +issues, see 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 (see Filename database), not absolute filenames. This +is done by default, but check anyway. + +

+ +

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. +
+ +
+ +


+Next: , +Previous: 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
+
+

See 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. + +

+ +

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 (see 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, see 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. + +

+ +
+ +


+Next: , +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 (see 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 (see 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. (see Introduction). + +
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. +

+ +
+ +


+Next: , +Previous: 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. + +

+ +


+Previous: 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. +
+ +
+ +


+Previous: mktex scripts, +Up: Custom installation + +
+ +

2.2.10 Installation testing

+ +

+Besides the tests listed in Simple installation, you can try +running ‘make check’. This includes the torture tests (trip, trap, +and mptrap) that come with Web2c (see Triptrap). + +

+ +


+Next: , +Previous: 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. See 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 Option details, the xdvi man page, and 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. +See 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. +See 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. + +

+ +


+Next: , +Previous: 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 (see unixtex.ftp). + +

You can change the default paths in many ways (see 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 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
+
+
+ + +


+Next: , +Previous: 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. + +

+ +


+Previous: 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, ... + +

+ +
+ +


+Next: , +Up: Reporting bugs + +
+ +

2.6.1 Bug checklist

+ +

+Before reporting a bug, please check below to be sure it isn't already +known (see 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 (see TeX or Metafont failing). + +
  • Any additional information that will be helpful in reproducing, +diagnosing, or fixing the bug. +
+ +
+ +


+Next: , +Previous: 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). + +

+ +


+Next: , +Previous: 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 +(see 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 (see Slow path searching, and see Subdirectory expansion). If you are using an up-to-date ls-R database +(see 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 +(see Filename database); font aliases (see Fontmap); and config +file values (see 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.) + +

+ +


+Next: , +Previous: 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. + +

+ +


+Previous: Logging, +Up: Reporting bugs + +
+ +

2.6.5 Common problems

+ +

+Here are some common problems with configuration, compilation, linking, +execution, ... + +

+ +
+ +


+Next: , +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. See Debugging. + +

    +
  • Perhaps you simply haven't installed all the necessary files; the basic +fonts and input files are distributed separately from the programs. +See 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 (see 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. See 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 +(see unixtex.ftp). + +
  • There is a bug in the library. See Reporting bugs. +
+ + + +
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. See 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 +(see 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. See Debugging. + +

+ +


+Next: , +Previous: 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 (see 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. +See inimf invocation. + +

If mf is a command not found at all by mktexpk, then you +need to install Metafont (see unixtex.ftp). + +

+ +


+Next: , +Previous: 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 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. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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 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’. + +

+ +


+Previous: 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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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 (see 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 (see File lookup, and Glyph lookup). + +

+ +


+Next: , +Previous: 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 (see 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 (see Debugging). + +

These sources may be combined via default expansion (see Default expansion). + +

+ +
+ +


+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. + +

+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +Up: Path expansion + +
+ +

3.3.1 Default expansion

+ +

+If the highest-priority search path (see 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” (see Debugging). +Default expansion is implemented in the source file +kpathsea/kdefault.c. + +

+ +


+Next: , +Previous: 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 (see Path sources). + +

Variable expansion is implemented in the source file +kpathsea/variable.c. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Next: , +Previous: 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. + +

+ + +


+Next: , +Previous: 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 mktex scripts, because these +change the working directory. You should not ever define it yourself. + +

+ +


+Previous: 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. + +

+ +


+Next: , +Previous: Path expansion, +Up: Path searching + +
+ +

3.4 Filename database (ls-R)

+ +

+Kpathsea goes to some lengths to minimize disk accesses for searches +(see 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. + +

+ +
+ + +


+Next: , +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 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. + +

+ +


+Next: , +Previous: 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. + +

+ +


+Previous: 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
+     ...
+
+
+ +


+Previous: 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. + +

+ + + +

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. +See 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. See 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. See 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 (see 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 (see 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 (see 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’. + +

+ +
+ + +


+Next: , +Previous: 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). + +

+ +

3.5.3 Auxiliary tasks

+ +

+Kpsewhich provides some additional features not strictly related to path +lookup: + +

    +
  • --debug=num’ sets the debugging options to num. +See Debugging. + +
  • --var-value=variable’ outputs the value of variable, +expanding ‘$’ (see Variable expansion and ‘~’ (see Tilde expansion) constructs, but not performing other expansions. + +
  • --expand-braces=string’ outputs the variable and brace +expansion of string. See 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. See 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. + +
+ +
+ +


+Previous: 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. +
+ +
+ +


+Next: , +Previous: 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. + +

+ +
+ +


+Next: , +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’ (see Config files). + +

The following table lists the above information. + +

+
afm
(Adobe font metrics, see Metric files) +AFMFONTS; +suffix ‘.afm’. + +
base
(Metafont memory dump, see Memory dumps) +MFBASES, TEXMFINI; +suffix ‘.base’. + +
bib
(BibTeX bibliography source, see bibtex invocation) +BIBINPUTS, TEXBIB; +suffix ‘.bib’. + +
bst
(BibTeX style, see Basic BibTeX style files) +BSTINPUTS; +suffix ‘.bst’. + +
cmap
(character map files) +CMAPFONTS; +suffix ‘.cmap’. + +
cnf
(Runtime configuration files, see 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, see Config files) +TEXCONFIG. + +
enc files
(encoding vectors) +ENCFONTS; +suffix ‘.enc’. + +
fmt
(TeX memory dump, see 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, see Glyph files) +programFONTS, GFFONTS, GLYPHFONTS, TEXFONTS; +suffix ‘gf’. + +
graphic/figure
(Encapsulated PostScript figures, see 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, see Filename database) +TEXMFDBS. + +
map
(Fontmaps, see Fontmap) +TEXFONTMAPS; +suffix ‘.map’. + +
mem
(MetaPost memory dump, see Memory dumps) +MPMEMS, TEXMFINI; +suffix ‘.mem’. + +
MetaPost support
(MetaPost support files, used by DMP; see dmp invocation) +MPSUPPORT. + +
mf
(Metafont source, see mf invocation) +MFINPUTS; +suffix ‘.mf’; +dynamic creation program: mktexmf. + +
mfpool
(Metafont program strings, see pooltype invocation) +MFPOOL, TEXMFINI; +suffix ‘.pool’. + +
mft
(MFT style file, see 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, see mpost invocation) +MPINPUTS; +suffix ‘.mp’. + +
mppool
(MetaPost program strings, see 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, see Glyph files) +PROGRAMFONTS (program being ‘XDVI’, etc.), +PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS; +suffix ‘pk’; +dynamic creation program: mktexpk. + +
PostScript header
(downloadable PostScript, see Header files) +TEXPSHEADERS, PSHEADERS; +additional suffix ‘.pro’. + +
subfont definition files
(subfont definition files) +SFDFONTS +suffix ‘.sfd’. + +
tex
(TeX source, see 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, see pooltype invocation) +TEXPOOL, TEXMFINI; +suffix ‘.pool’. + +
tfm
(TeX font metrics, see Metric files) +TFMFONTS, TEXFONTS; +suffix ‘.tfm’; +dynamic creation program: mktextfm. + +
Troff fonts
(Troff fonts, used by DMP; see DMP invocation) +TRFONTS. + +
truetype fonts
(TrueType outline fonts) TTFONTS; suffixes ‘.ttf’ and +‘.TTF’, ‘.ttc’ and ‘.TTC’, ‘.dfont’. + +
type1 fonts
(Type 1 PostScript outline fonts, see Glyph files) +T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS; +suffixes ‘.pfa’, ‘.pfb’. + +
type42 fonts
(Type 42 PostScript outline fonts) T42FONTS. + +
vf
(virtual fonts, see 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 ‘:’). See 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. + +
+ +
+ +


+Next: , +Previous: 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 (see 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 (see Debugging). + +

+ +


+Next: , +Previous: 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 (see 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. + +

+ +
+ +


+Next: , +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). + +

+ +


+Next: , +Previous: 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 +(see Introduction). + +

+ +


+Previous: 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 +(see Calling sequence); the default is no fallback font. + +

+ +


+Previous: 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. + +

+ +


+Next: , +Previous: TeX support, +Up: Top + +
+ +

5 Programming

+ +

This chapter is for programmers who wish to use Kpathsea. +See Introduction, for the conditions under which you may do so. + +

+ +
+ +


+Next: , +Up: Programming + +
+ +

5.1 Programming overview

+ +

+Aside from this manual, your best source of information is the source +to the programs that use Kpathsea (see 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. + +

+ +


+Next: , +Previous: 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 (see 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. See 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/. + +

+ + +


+Next: , +Previous: 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 (see Introduction), 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. + +

+ +


+Previous: 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. + +

+ +


+Previous: Programming, +Up: Top + +
+ +

Index

+ + + diff --git a/Master/texmf-dist/doc/kpathsea/kpathsea.pdf b/Master/texmf-dist/doc/kpathsea/kpathsea.pdf new file mode 100644 index 00000000000..bd7c6392ae9 Binary files /dev/null and b/Master/texmf-dist/doc/kpathsea/kpathsea.pdf differ 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 +\& * 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 new file mode 100644 index 00000000000..4921e218674 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/a2ping.man1.pdf differ 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 +.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 new file mode 100644 index 00000000000..2e6b61eeac4 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf differ 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 +.\" 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 + + +\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 new file mode 100644 index 00000000000..48a1487a9a4 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/afm2pl.man1.pdf differ 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 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 new file mode 100644 index 00000000000..04fbfc5ee7f Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/afm2tfm.man1.pdf differ 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 new file mode 100644 index 00000000000..b561b31fb5a Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/aleph.man1.pdf differ 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 diff --git a/Master/texmf-dist/doc/man/man1/allcm.man1.pdf b/Master/texmf-dist/doc/man/man1/allcm.man1.pdf new file mode 100644 index 00000000000..650e2431abd Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/allcm.man1.pdf differ 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 diff --git a/Master/texmf-dist/doc/man/man1/allec.man1.pdf b/Master/texmf-dist/doc/man/man1/allec.man1.pdf new file mode 100644 index 00000000000..5aac00771e0 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/allec.man1.pdf differ 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 diff --git a/Master/texmf-dist/doc/man/man1/allneeded.man1.pdf b/Master/texmf-dist/doc/man/man1/allneeded.man1.pdf new file mode 100644 index 00000000000..f428f811da0 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/allneeded.man1.pdf differ 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 new file mode 100644 index 00000000000..8755fd9f42a Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/amstex.man1.pdf differ 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 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 new file mode 100644 index 00000000000..38a80c458bd Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/arlatex.man1.pdf differ 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 new file mode 100644 index 00000000000..4cd462f1d30 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/asy.man1.pdf differ 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\-\fR, +where \fI\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\-\-\-\fR, +where \fI\fR is the same as above (but in lowercase), +\&\fI\fR is either empty, \*(L"sc\*(R", \*(L"swash\*(R" or \*(L"titling\*(R", +and \fI\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.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\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=\fR" 4 +.IX Item "scaled=" +Scale the font by a factor of \fI\fR. +For example: to increase the size of the font by 5%, use the command +\&\f(CW\*(C`\eusepackage[scaled=1.05]{\f(CI\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\f(CW}\*(C'\fR, +where \f(CW\*(C`\f(CI\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_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.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 +.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 new file mode 100644 index 00000000000..ae6a665e9b0 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf differ 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: +.\" +.\" Please send any bug reports, improvements, comments, patches, +.\" etc. to Steve Cheng . +.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 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 (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 new file mode 100644 index 00000000000..113beebfb8d Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/bbox.man1.pdf differ 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 +.\" +.\" 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 diff --git a/Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf b/Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf new file mode 100644 index 00000000000..93d54c85c5b Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf differ 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 new file mode 100644 index 00000000000..c0ce9f44a4d Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/bibtex.man1.pdf differ 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: )" 4 +.IX Item "--config=configuration file (default: )" +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 +\& +\& 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 new file mode 100644 index 00000000000..e2d458a6830 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/bundledoc.man1.pdf differ 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 +.\" +.\" 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 +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 diff --git a/Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf b/Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf new file mode 100644 index 00000000000..8cabb2e1a89 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf differ 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 +.\" +.\" 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 +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 diff --git a/Master/texmf-dist/doc/man/man1/cefconv.man1.pdf b/Master/texmf-dist/doc/man/man1/cefconv.man1.pdf new file mode 100644 index 00000000000..0f2054a1a0e Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/cefconv.man1.pdf differ 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 +.\" +.\" 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 +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 diff --git a/Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf b/Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf new file mode 100644 index 00000000000..f4c0e0102ea Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf differ 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 new file mode 100644 index 00000000000..9bc34d8e0d5 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/cfftot1.man1.pdf differ 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 ] [-[wemn] <[1-42]|all>] +.I [-d[0-...]] [-p ] [-o ] [-[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 +.PP +This manual page was cobbled together by Clint Adams , +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 new file mode 100644 index 00000000000..877defeb6ff Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/chktex.man1.pdf differ 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 ] [-[wemn] <[1-42]|all>] +.I [-d[0-...]] [-o ] [-[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 +.PP +This manual page was cobbled together by Clint Adams , +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 new file mode 100644 index 00000000000..23b2ca39e38 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/chkweb.man1.pdf differ 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 +. +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 new file mode 100644 index 00000000000..8863439d028 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/context.man1.pdf differ 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 new file mode 100644 index 00000000000..e84bb7f852b Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/ctangle.man1.pdf differ 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 +(), +A Directory Structure for T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Files (), +.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 + +.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 new file mode 100644 index 00000000000..c2e30e4380d Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf differ 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 new file mode 100644 index 00000000000..836ce5cb085 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/ctie.man1.pdf differ 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 . 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 new file mode 100644 index 00000000000..b5e180f96c1 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/ctxtools.man1.pdf differ 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 new file mode 100644 index 00000000000..174019027a3 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/cweave.man1.pdf differ 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 new file mode 100644 index 00000000000..64fd033c6fd Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/cweb.man1.pdf differ 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 new file mode 100644 index 00000000000..b0c7174acc4 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/detex.man1.pdf differ 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 +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 +.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 new file mode 100644 index 00000000000..448092cac02 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/deweb.man1.pdf differ 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 new file mode 100644 index 00000000000..c0b4da7e2e9 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/disdvi.man1.pdf differ 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] +.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 Write PS section to . +\& --wmf-file Write WMF section to . +\& --tiff-file Write TIFF section to . +\& --inputfile 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=" +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=" +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=" +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=" +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 new file mode 100644 index 00000000000..ebbd02f8166 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dosepsbin.man1.pdf differ 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: +.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: +.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 new file mode 100644 index 00000000000..3d820816096 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dt2dv.man1.pdf differ 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 +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: +.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: +.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 new file mode 100644 index 00000000000..4d350f4fba9 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dv2dt.man1.pdf differ 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 -*- 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 new file mode 100644 index 00000000000..6f3b5ca29fc Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvi2fax.man1.pdf differ 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 new file mode 100644 index 00000000000..735508fb809 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvi2tty.man1.pdf differ 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 +] [ +.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 new file mode 100644 index 00000000000..540ecd89613 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvibook.man1.pdf differ 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 new file mode 100644 index 00000000000..8c2da08b481 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dviconcat.man1.pdf differ 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 new file mode 100644 index 00000000000..e3ac7a5d812 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvicopy.man1.pdf differ 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 new file mode 100644 index 00000000000..2e080b5302c Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvidvi.man1.pdf differ 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 new file mode 100644 index 00000000000..35194cc5459 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvigif.man1.pdf differ 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 -*- 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 new file mode 100644 index 00000000000..dadd6dbcaaf Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvihp.man1.pdf differ 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 ; but for +compilation the texk build environment is needed, from +. +.PP +As of July 2007, \s-1PCL\s0 reference documentation is found at \s-1HP\s0's Web site +at +. +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 +/bpl<\s-1ID\s0>.pdf>, +where \f(CW\*(C`\*(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 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 new file mode 100644 index 00000000000..e095f4ce198 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvilj.man1.pdf differ 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 new file mode 100644 index 00000000000..70b40b341d9 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvilj2p.man1.pdf differ 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 new file mode 100644 index 00000000000..22ede011923 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvilj4.man1.pdf differ 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 new file mode 100644 index 00000000000..21d8d0962bb Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvilj4l.man1.pdf differ 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 new file mode 100644 index 00000000000..5e142d3aed8 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvilj6.man1.pdf differ 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 new file mode 100644 index 00000000000..889cf439be2 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvipdfm.man1.pdf differ 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 , +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 new file mode 100644 index 00000000000..fb58e415c4a Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvipdft.man1.pdf differ 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 +\& = * 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 +\& = * 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 +\& +.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 new file mode 100644 index 00000000000..82b64f33ce5 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvipng.man1.pdf differ 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 . It is free +software (GPLv2 or later). This manpage was written by Sanjoy +Mahajan 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 new file mode 100644 index 00000000000..b40fd3ab717 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvipos.man1.pdf differ 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 ; 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 new file mode 100644 index 00000000000..ae1c25f7e8c Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvips.man1.pdf differ 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 diff --git a/Master/texmf-dist/doc/man/man1/dvired.man1.pdf b/Master/texmf-dist/doc/man/man1/dvired.man1.pdf new file mode 100644 index 00000000000..3b80e9055fa Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvired.man1.pdf differ 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 new file mode 100644 index 00000000000..95e56039095 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dviselect.man1.pdf differ 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 +.\" 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 } +\especial{dvisvgm:bbox 20 10 10} + +\especial{dvisvgm:raw } +\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 +.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 new file mode 100644 index 00000000000..4b26f30b533 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvisvgm.man1.pdf differ 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 new file mode 100644 index 00000000000..1ee781413c5 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvitodvi.man1.pdf differ 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 -*- 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 new file mode 100644 index 00000000000..311c3210dfd Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvitomp.man1.pdf differ 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 new file mode 100644 index 00000000000..9eb65a9170d Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/dvitype.man1.pdf differ 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 and published in a posting to +the (mailing list)\&. +.PP +This manual page was written by C\&.M\&. Connelly +, 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 new file mode 100644 index 00000000000..8f3e4f51615 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/e2pall.man1.pdf differ 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 new file mode 100644 index 00000000000..8bdb4c85b2e Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/ebb.man1.pdf differ 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 new file mode 100644 index 00000000000..c9d10369f9c Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/eplain.man1.pdf differ 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 new file mode 100644 index 00000000000..b7fd5d82307 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/epsffit.man1.pdf differ 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 new file mode 100644 index 00000000000..6ce7b6592b2 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf differ 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 new file mode 100644 index 00000000000..ef74336cd71 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/etex.man1.pdf differ 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 +.\" +.\" 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 diff --git a/Master/texmf-dist/doc/man/man1/extconv.man1.pdf b/Master/texmf-dist/doc/man/man1/extconv.man1.pdf new file mode 100644 index 00000000000..d43f99978b9 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/extconv.man1.pdf differ 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 +, 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 +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 new file mode 100644 index 00000000000..933a82da09e Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/extractbb.man1.pdf differ 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 new file mode 100644 index 00000000000..39debaaaa34 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/extractres.man1.pdf differ 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=\*(C'\fR to optimize paragraphs, +you need to pass that information to the file \fIfoo.log\fR in a form +\&\f(CW\*(C`@looseness=\*(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]\*(C'\fR and \f(CW\*(C`[nn\*(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 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 new file mode 100644 index 00000000000..b0884f47327 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/findhyph.man1.pdf differ 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 new file mode 100644 index 00000000000..9427ce49ff7 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixdlsrps.man1.pdf differ 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 new file mode 100644 index 00000000000..796096a5669 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixfmps.man1.pdf differ 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 new file mode 100644 index 00000000000..d38a0f09825 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixpsditps.man1.pdf differ 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 new file mode 100644 index 00000000000..7995d1c0da6 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixpspps.man1.pdf differ 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 new file mode 100644 index 00000000000..9177e9d10b8 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixscribeps.man1.pdf differ 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 new file mode 100644 index 00000000000..665a5e8d4eb Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixtpps.man1.pdf differ 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 new file mode 100644 index 00000000000..a8dd34caa73 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixwfwps.man1.pdf differ 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 new file mode 100644 index 00000000000..f0dd52f8345 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixwpps.man1.pdf differ 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 new file mode 100644 index 00000000000..28ec9338205 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fixwwps.man1.pdf differ 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 new file mode 100644 index 00000000000..a97fcdbfd73 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf differ 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 (mailing list). +.SH "AUTHOR" +\fBfmtutil\fP was written by Thomas Esser + and is in the public domain. +.PP +This manual page was written by C\&.M\&. Connelly +, 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 new file mode 100644 index 00000000000..f3dfec982d3 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fmtutil.man1.pdf differ 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: +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to tex-fonts@tug\&.org (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +Thomas Esser + +.PP +This manual page was written by C\&.M\&. Connelly +, 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 new file mode 100644 index 00000000000..358de905ac8 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/fontinst.man1.pdf differ 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 new file mode 100644 index 00000000000..b379c0f1ea5 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/getafm.man1.pdf differ 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? +.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 new file mode 100644 index 00000000000..a31b530b6a1 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/gftodvi.man1.pdf differ 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 new file mode 100644 index 00000000000..05294ce5a5f Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/gftopk.man1.pdf differ 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 new file mode 100644 index 00000000000..d9628a4d951 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/gftype.man1.pdf differ 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 new file mode 100644 index 00000000000..51ea11f7cc0 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/gsftopk.man1.pdf differ 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 +.\" +.\" 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 +.br +Ross Paterson (the HBF API) +.C diff --git a/Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf b/Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf new file mode 100644 index 00000000000..f5fca2e9233 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf differ 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 new file mode 100644 index 00000000000..a3a2d561da5 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/includeres.man1.pdf differ 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 . +.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 +(). +.PP +The most up-to-date version of this documentation is on the Internet at +http://tug.org/texlive/doc/install\-tl.html . +.PP +For the full documentation of TeX Live, see +. +.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 +(); 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 +; 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 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 +. +.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 () 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 new file mode 100644 index 00000000000..e5f608d5bae Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/install-tl.man1.pdf differ 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 new file mode 100644 index 00000000000..1ba039a338e Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/kpseaccess.man1.pdf differ 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 new file mode 100644 index 00000000000..1ad20ed01a4 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/kpsepath.man1.pdf differ 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 +<> +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âd Ix`ð±‡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 +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +11 0 obj +<> +endobj +12 0 obj +<> +endobj +10 0 obj +<> +endobj +13 0 obj +<> +endobj +9 0 obj +<> +endobj +8 0 obj +<> +endobj +14 0 obj +<> +endobj +15 0 obj +<>stream + + + + + +2012-05-28T19:32:57+02:00 +2012-05-28T19:32:57+02:00 +groff version 1.21 + +Untitled + + + + + +endstream +endobj +2 0 obj +<>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 [] +>> +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 +<> +stream +xœ•UËvÓ@ Ýû+´tæeÏ ç°(Ey´¥1 NËÂ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Ñ¥t4 3mü +£ ˆ”úÑÒ…®,/Û¶„ò®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 +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +11 0 obj +<> +endobj +12 0 obj +<> +endobj +10 0 obj +<> +endobj +13 0 obj +<> +endobj +9 0 obj +<> +endobj +8 0 obj +<> +endobj +14 0 obj +<> +endobj +15 0 obj +<>stream + + + + + +2012-05-28T19:33:04+02:00 +2012-05-28T19:33:04+02:00 +groff version 1.21 + +Untitled + + + + + +endstream +endobj +2 0 obj +<>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: +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fBkpsetool\fP was written by Thomas Esser + in March, 1997\&. \fBkpsetool\fP +is in the public domain\&. +.PP +This manual page was written by C\&.M\&. Connelly +, 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 new file mode 100644 index 00000000000..37dda84b47a Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/kpsetool.man1.pdf differ 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: +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fBkpsewhere\fP was written by Hans Fredrik Nordhaug +, additions by +Thomas Esser +, in 2003 and 2004\&. \fBkpsewhere\fP +is in the public domain\&. +.PP +This manual page was written by Frank Küster , +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 new file mode 100644 index 00000000000..1186e8269ed Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/kpsewhere.man1.pdf differ 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 new file mode 100644 index 00000000000..d5a701044fc Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/kpsewhich.man1.pdf differ 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 new file mode 100644 index 00000000000..e01719e075c Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/kpsexpand.man1.pdf differ 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 +. +.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 new file mode 100644 index 00000000000..3e3e6367454 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/lacheck.man1.pdf differ 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 new file mode 100644 index 00000000000..1242c5ed0e4 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/lamed.man1.pdf differ 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 new file mode 100644 index 00000000000..fc051d7dff4 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/latex.man1.pdf differ 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 or send +\&to I. Include the serial number of I +\&(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 new file mode 100644 index 00000000000..779eaa29e23 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/latexdiff-vc.man1.pdf differ 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 new file mode 100644 index 00000000000..efa57b96109 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/latexdiff.man1.pdf differ 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 +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 +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 +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 +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 +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: +, and from the +author's website . +.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 new file mode 100644 index 00000000000..638b81efb45 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf differ 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 new file mode 100644 index 00000000000..623a87d27af Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/latexrevise.man1.pdf differ 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 new file mode 100644 index 00000000000..98d4ed4b61c Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/luatex.man1.pdf differ 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 . diff --git a/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf b/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf new file mode 100644 index 00000000000..8e8f9d8e231 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf differ 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 + + diff --git a/Master/texmf-dist/doc/man/man1/mag.man1.pdf b/Master/texmf-dist/doc/man/man1/mag.man1.pdf new file mode 100644 index 00000000000..fd715cc1dd7 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/mag.man1.pdf differ 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, is an arbitrary string delimited by +double quotes (".\|.\|."), is a single letter embraced by +single quotes ('.\|.\|.'), and is a nonnegative integer. +The maximum length of a 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 " " +\'@\' +.RS +Symbol indicating that the next entry is to appear in the output file. +.RE +.TP +.BR arg_close " " +\'}\' +.RS +Closing delimiter for the index entry argument. +.RE +.TP +.BR arg_open " " +\'{\' +.RS +Opening delimiter for the index entry argument. +.RE +.TP +.BR encap " " +\'|\' +.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 " " +\'\\\\\' +.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 " " +"\\\\indexentry" +.RS +Command which tells +.I makeindex +that its argument is an index entry. +.RE +.TP +.BR level " " +\'!\' +.RS +Delimiter denoting a new level of subitem. +.RE +.TP +.BR page_compositor " " +"-" +.RS +Delimiter separating parts of a composite page number (see +\s-2SPECIAL EFFECTS\s+2 below). +.RE +.TP +.BR quote " " +\'"\' +.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 " " +\')\' +.RS +Closing delimiter indicating the end of an explicit page range. +.RE +.TP +.BR range_open " " +\'(\' +.RS +Opening delimiter indicating the beginning of an explicit page range. +.RE +.\"--------------------------------------------------------------------- +.SS "OUTPUT STYLE SPECIFIERS" +.TP 25 +.BR preamble " " +"\\\\begin{theindex}\\n" +.RS +Preamble of output file. +.RE +.TP +.BR postamble " " +"\\n\\n\\\\end{theindex}\\n" +.RS +Postamble of output file. +.RE +.TP +.BR setpage_prefix " " +"\\n \\\\setcounter{page}{" +.RS +Prefix of command which sets the starting page number. +.RE +.TP +.BR setpage_suffix " " +"}\\n" +.RS +Suffix of command which sets the starting page number. +.RE +.TP +.BR group_skip " " +"\\n\\n \\\\indexspace\\n" +.RS +Vertical space to be inserted before a new group begins. +.RE +.TP +.BR headings_flag " " +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 " " +"" +.RS +Header prefix to be inserted before a new letter begins. +.RE +.TP +.BR symhead_positive " " +"Symbols" +.RS +Heading for symbols to be inserted if +.B headings_flag +is positive. +.RE +.TP +.BR symhead_negative " " +"symbols" +.RS +Heading for symbols to be inserted if +.B headings_flag +is negative. +.RE +.TP +.BR numhead_positive " " +"Numbers" +.RS +Heading for numbers to be inserted if +.B headings_flag +is positive. +.RE +.TP +.BR numhead_negative " " +"numbers" +.RS +Heading for numbers to be inserted if +.B headings_flag +is negative. +.RE +.TP +.BR item_0 " " +"\\n \\\\item " +.RS +Command to be inserted between two primary (level 0) items. +.RE +.TP +.BR item_1 " " +"\\n \\\\subitem " +.RS +Command to be inserted between two secondary (level 1) items. +.RE +.TP +.BR item_2 " " +"\\n \\\\subsubitem " +.RS +Command to be inserted between two level 2 items. +.RE +.TP +.B item_01 " " +"\\n \\\\subitem " +.RS +Command to be inserted between a level 0 item and a level 1 item. +.RE +.TP +.BR item_x1 " " +"\\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 " " +"\\n \\\\subsubitem " +.RS +Command to be inserted between a level 1 item and a level 2 item. +.RE +.TP +.BR item_x2 " " +"\\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 " " +", " +.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 " " +", " +.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 " " +", " +.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 " " +", " +.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 " " +"--" +.RS +Delimiter to be inserted between the starting and ending page numbers +of a range. +.RE +.TP +.BR delim_t " " +"" +.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 " " +"\\\\" +.RS +First part of prefix for the command which encapsulates the page number. +.RE +.TP +.BR encap_infix " " +"{" +.RS +Second part of prefix for the command which encapsulates the page +number. +.RE +.TP +.BR encap_suffix " " +"}". +.RS +Suffix for the command which encapsulates the page number. +.RE +.TP +.BR line_max " " +72 +.RS +Maximum length of a line in the output, beyond which a line wraps. +.RE +.TP +.BR indent_space " " +"\\t\\t" +.RS +Space to be inserted in front of a wrapped line (default: two tabs). +.RE +.TP +.BR indent_length " " +16 +.RS +Length of +.B indent_space +(default: 16, equivalent to 2 tabs). +.RE +.TP +.BR suffix_2p " " +"" +.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 " " +"" +.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 " " +"" +.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 . +.\"===================================================================== +.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 new file mode 100644 index 00000000000..395944c181f Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/makeindex.man1.pdf differ 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 new file mode 100644 index 00000000000..0c86d8a3eb5 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/mendex.man1.pdf differ 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 new file mode 100644 index 00000000000..b25a7ab3e43 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/mf-nowin.man1.pdf differ 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=\^;\^ [\^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 depends on +the resolution and magnification of the font. The +.I mode +in this +example is shown generically as , 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 new file mode 100644 index 00000000000..4b999616f6b Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/mf.man1.pdf differ 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 new file mode 100644 index 00000000000..fefafb972ab Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/mft.man1.pdf differ 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 (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +Written by Thomas Esser +\&. +.PP +This manual page was written by C\&.M\&. Connelly +, 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 new file mode 100644 index 00000000000..f0ae1ca6489 Binary files /dev/null and b/Master/texmf-dist/doc/man/man1/mkindex.man1.pdf differ 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] -- [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 of the job (mandatory). +\& Usually this is the TeX file +\& without extension +\& --texname Input file for TeX. Default is the +\& job name with extension '.tex' +\& --texopt