Home
“tex invocation” in Web2c
Contents
1. 47 49 bftoplol mec tese cae wdets eee dad ee een 50 three progrars e ke p REX ER 10 time and date in memory dumps 1a title fonti erita ed ues cs beth oe piedi pue 21 toolkits X iuste ka uere ii na ieii 26 GOLGULE LOSUS eee back y estes sige ade ee Ue dbs 4 translation file for TEX specifying 9 translation from WEB to C 4 1 trap Make target 2 ls eed re 4 GRAD GES Us da prae re hedge e neon EE 4 trapman tex e dude beta eee EEEE 4 trebars adj tcc ieee Reese RR heeds 34 brickey Howard wendciestas PN IRURE YEA I trip Make targeties oc cds tusdedaa eerdeedadtea secs 4 GIP testom zoe rede ew RE ER e 3E 4 Lrlpmn dn bex 2 2nes5 f epe hr aaah 4 triptrap Make target 0 4 TROP iiss god ces scab seasons ada meki ti jive d d eara 33 Trot and MetaPost 0020 00 31 Trott WEB fOE ascetur E E E 38 Trojan horses and TEX programs 14 TUGboat bibliography sese 36 Type T Conversion ret RIS REPRRES 53 type design personal lesse 25 type programs DVI Lsseuuueeseeeee 41 type programs GF sssluuseess 48 type programs PK rasei erdiari 46 type programs pool sseseeeeees 39 typeface families eese eese 23 typeface specimen sheets 45 53 typesetting siue doe sete qe mer scit utens Po ed EAE 14 U Unicode corte cs rper b
2. sss esses 35 newrow GF command 0 000 eee 49 BReXb 2ne26bbec d pigs dea etui Edd aad 26 NU X11WIN 2 ihi ik pace ee eee Ok zen 26 non Unix system compiling on 4 NUL not allowed in filenames 13 O octal character codes in TCX files 20 offset for overflow labels 0000 2 older than file comparisons 35 OIeg so esed dene ibrik EEE A weer ele RAS 21 online Metafont graphics 26 opcodes showing DVI seeuuueess 42 optical font scaling is eripe RE es 45 option conventions elitceren6bePverevbeene 7 OTI inte epis ei Queda e quu inrer road epo 47 output directory specifying 8 9 Output fil location 22225 jaa cee bedeeee ne ae ees 9 output files written by TEX programs 14 output comment for DVI files 16 overflow label offset 0 0 00 e eee eee 27 62 P packet lengths ceret cee age ERES AT page starting lleve Ri ted cae esats 41 42 parsing the first line 000 8 Pascal creating from WEB 38 patgenosil lssssesieda usce eed eade red S 21 path searching i22 epee deste est eS 9 path searching debugging 8 PDFs Ii2lSu4eURR RRERT bh pho ERR epa ee 21 DdLIEX onoRLbere fee teen repere eer ed 21 permissions legal eee eee eee ee 54 PFA and PFB conversion
3. 4 53 pfaedit 2 4 e ec bbe tama e eee RES 53 PiCTEX increasing memory for 5 picture expressions seeeeeeeeeeeese 33 pixel height eco phe refi ete ev AT pixel width iil relLe feme Ree AT PK bitmaps from PostScript 53 PK files explained oce cor RR 45 PK files not output by Metafont 23 PK format definition 45 PK converting GE 104 erc Re RELES 46 PK converting t0 GE ccelis ete 46 pEtOBgf loxlijgebkSENEGU donee Oa o ea e a er deeds 46 pktype PK validation 46 pkEtypesweb eo cre hr coc es edna abet 45 PL files explained 000006 45 plain Metafont compatibility in MetaPost 32 plain text converting DVI to 41 plain text converting GF to 48 plain text converting PK to 46 plain text converting TFM to 50 plain text converting VF to 52 plain base 5 ae eee eee RR 24 plarnibSt witha ates sews eles ca kate 37 plarnfmt i262 504 eene hd dads 17 prain MOM soi lace eee denen 32 pladnimft i lilii bbc obi sedate fot e 28 jk n RET 52 pool file writing cee eee eee eee 38 Poole SIMON ous cee ea n ace pene EE 26 pooltype iscihloesedob uA oes tied es 39 portable filenames sseeeee leere 13 PostScript fonts and Troff 31 PostScript meets Metafont
4. eeeeees eese 19 accents hyphenating words with 18 acknowledgements 00 eee eee 1 ACM ri Dnm 3T Ada WEB ft ere E PERPPES 38 additional Make targets 0 00 4 AFM to TFM conversion 0000 53 afn2tfnee ie i ddr arth oe aan UPRDEE tad hata d 53 SLMCOPlss obi ie caer tiede teresedad ahaa deems 53 aliases for fonts secr lesse eme 9 alpha DSUtu ces siecle tte etal oaks doe eae 31 American Mathematical Society typesetting SySUCTD ao aeo Pep i pe ede ceed bens Ee adum 18 58 apalike bst ccs m DIRE ERR 3T Arabic typesetting 00 eee 22 architecture dependencies uuuss 1i array limit fixed ge mr Ree ren 5 AITAy SIZES Ls e Pav s at eian ert ada 5 assembly language routines llle 4 a totrace oci cue yeu re HEP RE re Y dra E 53 Awk WEB fofo sce v9 Ee reRIYIRITS 38 B base file determining did base ACS si ues tired e pase dpa pedea 24 base files need mode definitions 25 base files plain only 2 sorte 25 base files sharing 2 der teme T1 bases Make target slseeee cess ee eee 4 basic BibTEX style files 00 00000 37 basic fonts and macros 0 eee eee 2 batch languages Loves ero ouei utii PRESS 14 BDF and GF conversion 0 000005 53 beginfigison se cerbeeg eda ls bp a eee x gre te 30 BeginPath ditroff command
5. see Section 3 2 Common options page 7 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 0 followed by octal digits as in 0 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 0 352 CODINGSCHEME TEX TEXT DESIGNSIZE R 10 0 COMMENT DESIGNSIZE IS IN POINTS COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE CHECKSUM 0 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 Chapter 10 Font utilities 51 LABEL C f LIG C 0 14 LIG C f 0 13 LIG C 1 0 15 KRN O 47 R 0 077779 KRN O 77 R 0 077779 KRN O 41 R 0 077779
6. 25 modes mf recommended modes file 25 Index Morgan DIa 2er Dev ODER Bx 1 Morris Bob icrmeeiie RI e am Ee DE ETE al MPEDIT iee np eR dU EDAR EG 12 IAUpgraphipsS r6 edie Coa eee 30 HWpmanspS eesenbIIeee ede aimee eres ae 30 MPOSty 168 Sw Ghee tek pL eee Jee eee 30 mpost reason for name change 2 npost mem s Sascha DIR eed ne hes 32 mpout scnleseeRben idees beer taka hs 30 mproof tex eors henna Gewese ee rete eae 31 MPSUPPORD 2c ERAPEesI eme ee en aE aE 34 MPC Oris ede D rene dece an ES 35 MPto invoked by MakeMPX 32 MPT ODER 2 1s neenheeixbuedd ee iie adel 33 MPT TR 2c beni cumtduu R E RES 33 mptrap Make target seeeeeeeeeees 4 Mptrap test 23 modd peer ep ERA CES 4 nptrap readm i 2 repepiaire r id he 4 mpx file definede sisicata we sig lee EUR es 33 MPX files converting from DVI files 33 MPX files creating from ditroff output 34 PROT oe e ee aa PY Daa er R 33 Npxerrodv3 42 6 240 2 eR WT EIER 33 NDpXerr log iiiessrigoc oe aw ade Po Egone 33 MPEP Giese ote gen dee ete cee qe NEU ep Oir 33 Mpxerr teX ic 2r ux RRERRESsSO oie in bas 33 mtimes of files comparing 35 Multi lingual TEX cree Rm be eee 18 multiple DVI files creating 22 N IN Uuldes2eeRIPRS ORO Rites ed RUNDE TR 19 new graphics support for Metafont 26 NEWER cene sbRERXSPRIMCHPRUPE EIU Pura 33 newer file comparison
7. 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 0 14 LIG C f 0 13 LIG C 1 0 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 e The first few items FAMILY FACE and so on are the so called headerbyte information from Metafont giving general information about the font e The FONTDIMEN property defines the TEX fontdimen values e 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 ie 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 e 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
8. 34 Berry Karl Liter teed sad eet 1 BIBINPUTS search path for bib files 36 bibliographies creating 0 36 bibliography sssi esac codecs oe Hino eee he eee 55 bibliography items cross referenced 36 Dibt6xillle dire Pc caine nati ed Hae ake une ee MEE 36 BUD LPN ere e Rex ahs dong starr ree eR UR 36 BibTEX collection 0008 36 BibTEX style filer riesce tiedre arere i eie 37 BigEndian machines 44 11 binaries Winking ecce teer arai 8 blank lines in TCX files seus 20 Bourne shell commands in TEX 16 boxes memory 10r 2 cere Rem hee 5 breakpoints memory for 00005 5 Breitenlohner Peter llselueluesu 1 BSTINPUTS search path for bst files 36 btex and label extraction llus sese 35 btex for MetaPost labels 0 30 btxdoc bib scs meu ren rpt ERI EEN Res 36 btxdoc tex i i ree ER RE REESE 36 btxhak t6eX aes ret a mE Pe Rs 36 pyte POSTON sci eer Mere DR epa 47 49 byte swappin issii rimi eiro RR emt cee aes 11 C c sources Makefile target 0 4 captions extracting from MetaPost input 35 captions for MetaPost sse esses 32 change files and MFT 28 change files and Tangle 38 change files and Weave 0000 39 changing error messages style L 7 character
9. Invoking afm2tfm in Dvips and CTAN fonts utilities afmtopl e BDF the X bitmap format conversion ftp ftp tug org tex bdf tar gz e Creating fonts using MetaPost MetaTypel ftp bop eps gda pl pub metatypel This is used to create the excellent Latin Modern font family CTAN fonts 1m which extends Computer Modern to a vast repertoire of scripts e 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 e Editing of outline fonts FontForge fontforge sourceforge net This is a very elab orate program with support for many outline formats Type 1 OpenType TrueType and many advanced font editing features e PK bitmaps from PostScript outline fonts gsftopk from the xdvi distribution Al ternatively ps2pk from CTAN fonts utilities ps2pk e PostScript Type 1 font format conversion i e between PFA and PFB formats ftp ftp tug org tex tiutils tar gz e Scanned image conversion the aging GNU font utilities convert type specimen images to Metafont PostScript etc http www gnu org software fontutils e Tracing bitmaps to fitted outlines Autotrace http autotrace sourceforge net Potrace http potrace s
10. are disallowed except tex because ATEX 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 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 If you as a TEX administrator wish to implement more stringent rules on Nopenout modifying the function openoutnameok in web2c lib texmfmp c is intended to suffice The program accepts the following options as well as the standard help and version see Section 3 2 Common options page 7 no f ile 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 See Section 3 2 Common options page 7 enc Enable encTEgX extensions such as mubyte This can be used to support Unicode UTF 8 in
11. 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 see Section 3 5 2 Memory dumps page 10 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 See Section 4 2 Initial TeX page 17 bases install bases Make or install the Metafont base files See Section 5 2 Initial Metafont page 24 mems install mems Make or install the MetaPost mem files See Section 6 2 Initial MetaPost page 32 triptrap trip trap mptrap To run the torture tests for TEX Metafont and MetaPost respectively See the next section 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 Chapter 2 Installation 5 triptrap trapman tex and triptrap mptrap readme for detailed information and background on the tests The differences between your executables behav
12. 30 PostScript Output iis simes is 5h ee bese bl naan 30 PostScript to PK bitmaps 53 PostScript Type 1 font conversion 53 PostScript and font scaling 45 potra86O lillueenic ad duele Seca es dtes 53 Pragma ADEs uri tesnriee page cae EEA 32 predefined macros and memory dumps 10 prettyprinting Metafont source 27 prettyprinting WEB programs 39 primitives NEW signers secs aseepeee decease deat es 21 printable characters specifying 20 printer characteristics for Metafont 25 production USE 22 252 cle Ale na i e REG 10 Index program name determines memory dump 11 program names special 8 15 prOlogues izakcao seni Ib DR ae dedos 32 prologues and Troff in MetaPost 33 prologues and EPSF output 31 proof Mode shoes dean E ee beware ws 23 proof sheets of fonts 00 0c eee 27 property list format i xc24 2e e seed wee 50 property list converting TFM to 50 property list converting VF to virtual 52 DS2pk icSererc repe here a E E r cs 53 psfonts map read by MetaPost 31 PXL files explained uuuueesss 45 pxtoch 2e6e ex s car ee dete tee E RE EE 53 Raichle Bernd 2e seein gees eae bd tires 18 reading additional e nd 1 readonly directory running TEX in 9 reallocation of ar
13. and other MetaPost related things from Pragma http www pragma ade com metapost htm 6 3 MakeMPX Support MetaPost labels In MetaPost labels can be typeset using any document processor the Web2c implementa tion supports TEX and Troff MakeMPX translates the labels from the typesetting language back into low level MetaPost commands in a so called mpx file so text can be manipulated like other graphic objects It is invoked automatically by MetaPost Synopsis makempx troff mpfile mpxfile The input comes from mpfile no path searching is done and the output goes to mpxfile However if the file mpxfile already exists and is newer than mpfile then nothing is done presumably the file is up to date Otherwise 1 MPto is run to extract the label text from the MetaPost source file mpfile see Sec tion 6 6 mpto invocation page 35 Chapter 6 MetaPost Creating technical illustrations 33 2 The typesetting program itself is run either TEX or Troff see below If TEX and the file named by the MPTEXPRE environment variable exists mptexpre tex by default that file is prepended to the input from the MetaPost file 3 The typesetter output a DVI file in the case of TEX Ditroff output for Troff is trans lated back to MetaPost by DVItoMP see Section 6 4 dvitomp invocation page 33 or DMP see Section 6 5 dmp invocation page 34 respectively If any of the above steps fail for example if there was a typesetting
14. page 10 For a detailed comparison of virgin and initial forms see Section 3 5 1 Initial and virgin page 10 In past releases a separate program inimpost was installed for the initial form but this is no longer the case For a list of options and other information see Section 6 1 mpost invocation page 30 The principal memory dump file used with MetaPost is the default plain mem also known as mpost mem again see Section 3 5 2 Memory dumps page 10 It is created by default during installation but you can also do so by hand if necessary e g if a plain mp update is issued mpost ini input plain dump The quotes prevent interpretation of the backslashes from the shell Then install the resulting plain mem in memdir usr local share texmf web2c by default and link mpost mem to it MetaPost also provides a mem file with all the features of plain Metafont called mfplain mem You can create that in the same way just replace plain in the above command with mfplain mfplain mem file lets you directly process Metafont source files with MetaPost producing character proofs one file for each character similar to those produced with Metafont in proof mode and GFtoDVI see Section 5 5 gftodvi invocation page 27 Another MetaPost mem file named MetaFun provides many advanced features It was developed and maintained by Pragma ADE The home page for MetaFun
15. 25 Sockets i eases naa ed Sige ted ecu eade 21 space terminated filenames lusus 12 Spiderweb escretas annia nidek etiem m 38 63 Stallman Richard 12222 ec eme i Starting Page ews ieezeeric e ase rc be e ki 41 42 Steele Jr Guy Diei tert 12 stopping at the first error 04 8 strategy oyerall essc etm ene ii string numbers displaying 39 string pool wribng ire BR RET PRSES 38 string representation seeeeeee Erosa 40 style design for BIDTEX isuuuuueusss 36 style hle8 oi zur eben gee herb REED DEREN 28 substitutions of font glyphs 18 pr 26 Su n gfX C i osiiupbes ei en E dde End enden 26 Subtools his ene ER Ota FERE pd 26 DUD VICW ccnxeevnkicuceR p i Rep E REOR apa 26 swap space as array limit 5 swapping bytes rem er enii ieta ideat Ii syntax of TCX files osse rr ree rre 20 system C library function 16 T T1 encoding and ISO input 20 Tachikawa Elizabeth sleeueesss 46 tangleiorosescerterbeigusc sur dg ee ee pP d 38 targets additional Make 4 TCX character translation files s 19 pn JP ein nikka ii netia T iaeio 26 Tektronix i22 i pritiae anera cee abe UP End 26 Tektronix 4014 entr tacet arses ads 26 TERM os oeskeken ueenidducbezkeIgeuo qoe upper 26 terminator for filenames 00 12 terse o
16. BibTEX log file 00 0 36 S DE2 5BeieesenPuEeg a3 eR be ei rece e des 17 II cs o decimi ud cce oues s duse faro a EA 32 p X 28 DD me ee erna ee are ee 30 nnn PostScript figures 0 30 nnngf generic fonts 0 eee eee 23 Index tcx character translation files 9 19 ORs nic aat a e RR EP DEP Erit 14 tfm output vd ae neds rernm 23 30 Adefaults 26 e Ir ker RE e REREP HE 26 XresourCesS 2L l2 el sue e eae mn dee I S 26 notation volding ere epe 20 bibliography zii biete ubt PUE eu 36 NMbibliographystyle s eeeeeeeees 36 charsubdef and MLTBX 18 NCOUNEH se c04 i bcdeen peta SYR te eee E 41 42 font and dynamic generation 14 Nfontdimemn 1 2 54 9 eG aeaea ead 51 immediate write18 0 cece eee ee 16 input filenames 4 ness eed eb bees ee es T2 MIB anes ranie b ed heiter HPigw e RE REOS Al 42 openout and security sess 14 NSLUrIDg nibvfix lessbibibdcdeuibi e dies 13 tracingcharsubdef and MLIEX 19 tracinglostchars and MLTgEX 19 write18 shell escape extension 16 expansion in filenames sss esssss 13 8 bitclea ei 0 hei a nE E 9 8 bit clean output specifying 9 8 bit Characters reisast Re Re ERR REREEE ER 19 A abbr BSb aare mieie crabe Mia PO Gad des 3T accented character
17. Enable the filename recorder This makes the program save a list of the opened files into a file with by default extension fls For Omega this option is always on and the file has extension of1 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 amp translate file tcxfile This is the recommended method for portability reasons See Section 4 4 2 TCX files page 19 8bit This option specifies that by default all characters should be considered print able If translate file was given as well then the TCX file may mark characters as non printable oem This option is specific to Windows When specified TEX engines will use the OEM code page rather than the ANSI one to display their messages 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 see section Supported file formats in Kpathsea Reading texmf cnf see sec tion Config files in Kpathsea invoking mktex scripts see section mktex scripts in Kpathsea and so on are all handled by Kpathsea The progra
18. 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 I3TEX AMSTEX do not do any glue setting at fmt creation time Metafont and MetaPost do not use floating point in any dumped value at all Chapter 3 Commonalities 12 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 sim
19. 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 Chapter 2 Installation 6 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 Chapter 3 Commonalities 7 3 Commonalities Many aspects of the TEX system are the same among more than one program so we describe all those pieces together here 3 1 Option conventions To provide a clean and consistent behavior we chose to have all these programs use the GNU function
20. 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 see section psfonts map in Dvips MetaPost can write output files via the write primitive this opens a security hole See Section 4 1 tex invocation page 14 The program accepts the following options as well as the standard help and version see Section 3 2 Common options page 7 no f ile 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 See Section 3 2 Common options page 7 Chapter 6 MetaPost Creating technical illustrations 32 cT troff Set the prologues internal variable to 1 and use makempx troff to generate MPX files tex texprogram When this option is given the program texprogram is used to typeset the labels 6 2 Initial MetaPost inimpost is the initial form of MetaPost which does lengthy initializations avoided by the virgin vir form so as to be capable of dumping mem files see Section 3 5 2 Memory dumps
21. 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 and the mailing list litprogOshsu edu are devoted to this subject they are gatewayed to each other WEB like languages have been implemented with many pairs of base languages Cweb provides C and Troff see Appendix B References page 55 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 8 1 Tangle Translate WEB to Pascal Tangle creates a compilable Pascal program from a WEB source file see Chapter 8 WEB page 38 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
22. aeons 4 llag byte ida boite a EEG E NH 47 floating point arithmetic 00 4 floating point values 0 0 00 eee eee 11 fmt file determining ile Imt files iiio deed rre pions DE E Er fmt files sharnmng 2 eeu art LE fmts Make target order Rete 4 foi BASES 2 2ier ceflaam aeu b ere AP us 9 font character code translating 20 lont designs ec rr uec REPE Ee VR 23 font downloading for MetaPost labels 31 font file formats ce iiis RR ede oo 45 ont DPtoO s reser breiten teen xs 27 font utilities edel e ce PEERS 45 font utilities non Web2c 00 53 font mem siz Sosa 5 ewe Aa rw uo ed bs EA 5 fOntfOrEG niocrieseei ug eA obe dyes 53 fontinst for creating virtual fonts 53 fonts DaslQua set Paseo dre dk dua Stent lla pen Ron 2 fontutils cia basis eee ere Ree ee 53 format files ba hei Coe taetad eke ae bed oud IT formats for DX ope tad ices aa eve 17 formats Make target 002 eee eeeee 4 fraction rFoullnes r c e nha Cee eases 4 Free Software Foundation documentation system Veridnagucces Rode da Ped PR edi dtp erg 18 freedom of Web2c 0 cece eee eee eee D ftp math utah edu e gadis obese r EREDE 36 G generating source specials 16 geometrie designs eek ere date dee 23 geometric font scaling 4 45 geometry for Metafont 0
23. are printable are saved in the dump files like tex fmt So by giving these options in combination with ini you set 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 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 see Ap pendix B References page 55 and also the patgen web source file The only options are help and version see Section 3 2 Common options page 7 4 5 IPC and TEX Sorry but I m not going to write this unless someone actually uses this feature Let me know This functionality is available only if the enable ipc option was specified to configure during installation of Web2c see Chapter 2 Installation page 2 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
24. codes in GF type output 49 Index character codes in PKtype output 4T character codes in TCX files 20 character proofs of fonts 0 00 27 CHARACTER property esee nmn 51 character translation files 19 CHARDP Property icm teg ane tena LS 51 CHARHT Property i bs c dence ae chad ERE vane ol CHARIC Property im e Rer ERR IA 51 CHARWD property isi ar nace e eh eterne 51 ChtOpXuocicchenb4beRIes esie been de 53 class name for Metafont sss esses 26 GniDase8 ced bocosUbepnP PE eh He VIP we we ares 25 DELI S LG MM m 25 embase MEG ear a sees ee E E wey hanes 28 cmmf base not recommended 25 comments in TCX files 0 20 comments MFT control 0 04 28 COMMON OPLOS pras ovboLs tr sea swe e RFID S 7 conmmimonalllleS 3 2 ores deed edd arem dees 7 comparing file modification times 35 COMPA HOM sz fess ded dee baie ad ERE e E ede eS 2 compile time options sese 2 Computer Modern fonts and Troff 3l Computer Modern macros 0 25 Computer Modern Typefaces production of 28 GOnfIg Ur BblOTw oup vani RUE CN REIR REA 2 configuration file reading 9 configuration file values 000 5 configuration compile time 2 configure with enable options 2 CONTENTS 6x3 bode eA TeE
25. file kpathsea debug number Set path searching debugging flags according to the bits of number see sec tion Debugging in Kpathsea You can also specify this in KPATHSEA_DEBUG environment variable for all Web2c programs The command line value over rides 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 This is useful when you are in some read only distribution directory perhaps on a CD ROM and want to TEX some documentation for example Note that for input files the search in dirname does not use the full generality of the search mechanism This means that some files are not found there even though you might expect them to be parse first line no parse first line Check or disable checking whether the first line of the main input file starts with 7 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 see section Config files in Kpathsea Using this option is equivalent to making a link named string to the binary and then invoking the binary under that name See Section 3 5 2 Memory dumps page 10 Chapter 3 Commonalities 9 recorder
26. file for how to create the new definition and please send the definition to tex fonts mail tug org 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 Section 5 1 mf invocation page 23 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 Chapter 5 Metafont Creating typeface families 26 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 t
27. 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 e use or to start an option name e use any unambiguous abbreviation for an option name e separate option names and values with either or one or more spaces e use filenames that would otherwise look like options by putting them after an option 6 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 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 standa
28. 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 1lib 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 See section unixtex ftp in Kpathsea for the practical details of how to obtain Web2c Different parts of the Web2c distribution have different licensing terms however re flecting the different circumstances of their creation consult each source file for exact de tails The main practical implication for redistributors of Web2c is that the executables are covered by the GNU General Public License and therefore anyone who gets a binary distribution must also get the sources as explained by the terms of the GPL see section Copying in Kpathsea The GPL covers the Web2c executables including tex because the Free Software Foundation sponsored the initial development of the Kpathsea library that Web2c uses T he 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 TRX 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 T
29. kerns and ligatures for this character as a comment Chapter 10 Font utilities 52 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 see section Metric files in Dvips 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 p1 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 6 The only options are verbose help and version see Section 3 2 Common options page 7 For an example of property list format see the previous section 10 8 VFtoVP Virtual font to virtual property lists VFtoVP translates a virtual font metric VF see section Virtual fonts in Dvips file and its accompanying TEX font metric TFM see section Metric files in Dvips 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 Sy
30. 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 sym bolic cross referencing tables of contents indexing citations using Bib TEX for those authors who prefer to handle their own high level formatting The Eplain home page http www tug org eplain slitex An obsolete IXTEX 2 09 format for making slides It is replaced by the slides document class along with the beamer texpower and other packages 4 4 Languages and hyphenation TEX supports most natural languages See also Section 4 6 TEX extensions page 21 4 4 4 MLT X 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 Naccent 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
31. mistake in the original mpfile output may be left in files named mpxerr log tex dvi TEX or mpxerr t Troff so you can diagnose the problem The troff option to MPto selects the Troff commands rather than TEX MetaPost supplies this automatically if the T or troff option was specified to MetaPost The MPX file created by MakeMPX is a sequence of MetaPost picture expressions one for every label in the original MetaPost input file The names of the commands run by MakeMPX and the directory added to the shell search PATH for the commands location are overridden by environment variables Here is a list MAKEMPX BINDIR The directory added to the PATH Default is the bindir Make directory which in turn is set from the configure time bindir exec prefix and prefix options if nothing else is specified the default is file usr local NEWER The command run to determine if mpxfile is out of date with respect to mpfile default is newer MPTOTEX The command run to extract MetaPost labels in TEX format default is mpto tex MPTOTR Likewise for Troff default is mpto troff DVITOMP The command run to convert TFX output back to MetaPost default is dvitomp DMP Likewise for Troff default is dmp TEX The command run to typeset the labels in TEX default is tex If you use IXTEX set this to latex and supply an appro
32. ok K 2K K K ok ok K K K K K KKK KK K 2K 2K FK FK K K K 2K K K K 2K 2K 2K 3K K K K FKK 2 kK k 2K 2K 2 FK FK FK K 2K K K K K K K K K K KKK KK K 2K 2K FK FK K K K K K K K 2K 2K OK 3K K K K FKK kK kK k 2K 2K 2K FK FK FK K K K K K K K K K K K KKK KK ok 2K 2K FK FK K K K K K FK FK 2K 2K 2K 3K K K K FKK KK K 2K 2K 2K FK FK ok K 2K K K K ok K K K FK K lt 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 lt m lt 60 0 n 56 The character s bitmap lies between 3 and 60 inclusive horizontally and be tween 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 hori zontal 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 6 eoc The end of the main character definition Here is the GF postamble information that GF type 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 2716 The 65 is simp
33. prettyprinting 27 Metafont compatibility in MetaPost 32 Metafont mmiti l 2i2 2 240 m ERO ends 24 Metafont MetaPost and TEX 10 MetaFun enhanced MetaPost 92 metafumn mp eee tate Me PO ees 32 MetaPO08lz 5 12 hepoeo Deo tm oy Re hd 30 MetaPost and plain Metafont compatibility 32 MetaPost input files 0 000005 30 MetaPost input extracting labels from 35 MetaPost invocation 000 cess ee eee 30 MetaPost labels 0 02 e eee ee eee 32 MetaPost source prettyprinting 28 MetaPost initial 2 00s eee eee 32 MetaPost TEX and Metafont 10 MOtaty ped cesigir Fak space ens eos acai eid 53 TOE 8 sdcesk is pak beh ba arenes toad EAEE DDR een 23 Mt bases lucos vie ERTUUEeS Ee RN EA ee eau E 24 MEEDIT 2 aei PER ESRIEREC EE Ps 12 nfplarnmem i22 cecnedhecmhI beide deu 32 IMputnoieiWieescesDbeureRrg e rp PRie Wertes 23 ii ea AE E E WE PNE EE 27 ME CaM sagt Em 26 METERM v iiibo reete ert Ye ete RS Ree d 26 MECMAC COR vit ere acdsee aes PETER ERE 2T mktexnmf disabling i eres 28 nktextfM disabling 2c scisco 14 Iltexu leee estare ee p ee Ru Ron P e ilie 18 MLDTEX enabling a reeEbRERPERR SD ete 15 mode needed to run Metafont 23 mnode def ucieisei Wed es Rup MORE ANN UP GRE 25 mode setup ecce e kate RE 3 Ro abs 25 modes file needed for Metafont
34. typesetting Unlike the bitmap raster fonts described below TFM font files contain no information about the shapes of characters They describe rec tangular 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 3000px1 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
35. 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 Chapter 3 Commonalities 13 Minput 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 I3TEX the quotes are needed inside the braces thus Minput 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 e 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 sim ple filenames since directory separators vary among systems instead add the necessary directories to the ap
36. you run into trouble and want to adapt DMP to other systems you might have to try the following this is primarily for hackers e If DMP complains about a missing font table e g Cannot find TR your Troff may not support the device post Check troff 1 for the devices supported by your Troff and set the TROFF environment variable appropriately see above Also locate the appropriate font directory and set the TRFONTS variable as needed e If DMP complains about a missing font description file e g Font TR was not in map file your version of Troff may be using internal font names different from those in the distributed trfonts map e g TR and TI instead of R and I for Times Roman and Times Italic In this case you may have to adapt trfonts map and perhaps also trchars adj in the MetaPost support directory texmf metapost support by default Chapter 6 MetaPost Creating technical illustrations 35 e If DMP still complains that it cannot parse the font description files or the Troff output e g TR has a bad line in its description file you are probably out of luck and have to hack the DMP program in web2c mpware dmp c Such problems may be caused by subtle differences in the file formats such as use of tabs vs spaces as field separators or decimal vs octal vs hex format for font metric data A reasonably good description of the expected Troff file formats can be foun
37. 0 26 getopt long Only ic sheets cece g alte dera T GF files explained sulle 45 GF files output by Metafont 23 GF format definition 45 60 GE Output es nieder mer mE ae 23 GF converting PK to 2 46 GF converting io PK cose reRRerR 46 Eg tOdvlili i exesebica eese Na dd ad ade WR dana 4 27 E LtODkusos te petite ud c addi xe gus 46 E tODXL cerrepbee We RE E qae piae eds 53 gftype GF validation 48 Bftype web 2 e ed EEE ER e ERE 45 glue ratio representations sess ees 11 glue memory for 2 0 verre 9 gadis de 5 glyph substitutions 4 53 ssc tem ees 18 pray TONG is os pak alee RIS hentia eee wate 27 Gruff Billy Goats ip 04 eee ieee bea bees das 4 ESftOpE 0 sv lesa see tee eed ereadie hoa und 53 H Harbison Samuel Powis cece re cR 12 hardware and memory dumps zn hash table increasing size of 5 hash eztia uw h sa rna etu edu 5 headerbyte information 0 51 height in pixels 2255 y Rn AT help Online rshi abre ERU aR E u E TES T Henry Patrick eie I PEEERDDLURER E 1 Herberts Mathias 22 000 26 hex character codes in TCX files 20 history uad omes read capite vis Tid endis 1 Hobby Johnnie a riere Re REESE RS 1 35 horizontal escapement suse 47 49 lp ccelis dee ended cinta Tenis DU ceee 26 human languages su
38. 0 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 Chapter 10 Font utilities 53 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 see section Virtual fonts in Dvips and T X font metric TFM see section Metric files in Dvips 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 see Section 3 2 Common options page 7 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 see section unixtex ftp in Kpathsea Here are some of the most commonly requested items e AFM Adobe font metric to TFM conversion see section
39. 3 Modes page 25 for example localfont or 1jfour These device definitions Chapter 5 Metafont Creating typeface families 24 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 2602 dpi 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 600 dpi and you specify mag 72 Metafont will produce output at 1200 dpi Very often the magnification is an expression such as magstep 5 corresponding to a TEX magstep which are factors of 1 2 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 see Section 3 2 Common options page 7 no f ile 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 See Section 3 2 Common options page 7 mktex f
40. 87 and because of the show opcodes followed by its decimal opcode value in braces 141F 142F e The level lines record information about the DVI stack h and v define the current Chapter 9 DVI utilities position in DVI units while hh and vv are the same in pixels e Text sequences are summarized in brackets as in A SHORT STORY and the 1 44 Chapter 10 Font utilities 45 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 10 1 Font file formats For another perspective on this see section Font concepts in Dvips 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
41. EEE EE KENE AREA 19 qp PEE 21 Gut sae ale sued EUER ed ERR Rp Der Fal d eee cee 28 HC TOMES um apace appanniti ERREUR 14 23 editing of bitmap fonts 0 53 editor invoked at error 0 00 eee 12 eight bit characters in filenames 13 endian dependencies 000 Ti oc GF command esareti ipio rerni as 49 plait scccopsisaesemnre DES RE E eiaa loa aaa 18 OPSE oc bie esas eec Eeoa ia E E KE i meu thew 26 errors editor invoked at uuuu 12 escapement horizontal suus 47 49 escapement vertical 02 00 49 etex and label extraction 35 etex for MetaPost labels 30 Index executables shared initial and virgin 10 expanded plain format 00 18 extensions to TEX e rer ERR ERR 21 extra mem bot luere ug de Reg uu Puer epus 5 F FACE DrOperty s n ee abe paces eels 51 FAMILY property e rm E E unn 51 Ferguson Michael 22 00005 18 file formats for fonts 000 eee 45 file mtimes comparing 0000 35 file recorder eese ciae insin ates Ry 9 File handling TEX cse 22 filename conventions in input files t2 filenames starting with 00 T first line of the main input file 9 fixed point arithmetic 0 00 lesen 4 EIXPT a2 cag eR bebe waded ERG Ra
42. IAYXTOES Rees 39 control sequence names space for 5 conventions for options lesse esses conversion DVI to plain text 41 conversion GF to PK 0065 46 conversion GF to plain text 48 conversion PK to GE luuuussuuus 46 conversion PK to plain text suuu 46 conversion property list to TFM 52 conversion property list to VF 53 conversion TFM to property list 50 conversion VF to VPL lcooei hr Rr 52 copyright noticeS 4 sooo hn 54 Cork encoding and ISO input 20 creating memory dumps 10 cross referenced bibliography items 36 cross references omitting 00 39 current directory used for output 9 Curtis Pavel dentes ceu enr soE5 he 1 WED eric C M 38 qug dae 38 D D c ditroff graphics 2 riego cata Re REA 34 date and time in memory dumps 11 debugging DVI utilities 000 42 debugging flags specifying 8 59 decimal character codes in TCX files 20 dependencies hardware 000 5 di design size units 6 5 s c rrr ERR RUE EY 51 device definitions for Metafont 25 device independent width 47 49 directory structure essc rn erem 2 DISPLAY 2c22 kg oer des
43. PRDeLRe owen UE 39 webmnan tex poaceae eub Rep Erde EUE 38 whitespace in TCX files 20 whitespace terminated filenames 12 width device independent 47 49 width in pixels ilice vr e ERRIDIECRRer4e 47 word processor D tuecss ernis erre e 14 writing memory dumps 0 10 X X bitmap fonts 2 2 E erosti ERUPSI tsy 53 X class name for Metafont 26 SC ONSET fires nod imde RU ater be ene d b 47 AX FOSOULCES isene ae ea iea a EE R 26 X toolkits and Metafont 4 26 x X ditroff device control 34 xampl Dib 2 2 293 Rr eret Peppe 36 xbfe bitmap font editor 53 xfed bitmap font editor 53 xfedor bitmap font editor 53 RIAD hs peas 4d 3 eased ens RO Weed n Rea 26 Xlib support 2 ec ERR RI RED ren s u eects 26 Xbooeiebts9e eg Bret ghee deded esee bene deri 26 XU SupDOorb mee irutan SERRE weeded 26 XUOE 2 ga igeLcspPehepeyelcq bh ensi dont 26
44. TEX format to make use of this substitution you have to redefine the circumflex accent macro X 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 Ncharsubdef c redefine c as a pair of zeros For example Ncharsubdef 7 321 00 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 Ncharsubdef at any time the result is unspecified If Ncharsubdef 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 Naccent construction at Nshipout time In summary the substitution is accessed often so changing it is not desirable nor generally useful 4 4 1 2 Ntracingcharsubdef Substitution diagnostics To help diagnose problems with charsubdef MLTEX provides a new primitive parameter tracingcharsubdef If positive every use of Ncharsubdef will be reported This can help track down when a character is redefined In addition if the TEX parameter tracinglostchars is 100 or
45. This may be helpful if you are well debugging 4 6 TpX extensions The base TFX program has been extended in many ways Here s a partial list Please send information on extensions not listed here to the address in section Reporting bugs in Kpathsea e TEX Adds many new primitives including right to left typesetting Available from http www vms rhbnc ac uk e TeX and CTAN systems e tex Omega Adds Unicode support right to left typesetting and more Available from http www ens fr omega and CTAN systems omega pdfIEX A variant of T X that produces PDF instead of DVI files It also includes primitives for hypertext and micro typography Available from CTAN systems pdftex Chapter 4 TEX Typesetting 22 TeX XeT Adds primitives and DVI opcodes for right to left typesetting as used in Arabic for example An old version for TEX 3 1415 is available from CTAN systems knuth tex xet A newer version is included in e TEX File handling TEX Adds primitives for creating multiple DVI files in a single run and appending to output files as well as overwriting Web2c implementation available in the distribution file web2c contrib file handling tex Chapter 5 Metafont Creating typeface families 23 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 di
46. Web2c for version 7 5 4 February 2005 Karl Berry karl tug org Olaf Weber infovoreOxs4all nl 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 Karl Berry amp 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 con ditions 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 lan guage under the above conditions for modified versions except that this permission notice may be stated in a translation Table of Contents 1 Introduction s lt 3 4 6s cn0ssdesben EED TU RR 1 2 Installation i542 Er ER o 2 2 1 Configure Options ws icem Rad eere His oe Rn e d cedo 2 2 20 Compile time options susssssseseese ern 3 2 3 Additional targets 0 0 cece eee en 4 2 4 Trip trap and mptrap Torture tests lisse eese sss 4 2 0 Runtime options ced cece ce etre tee Eu RR eee 5 3 CommonalitieS ss sei oem x op c9 SC ORO ED C T 3 1 Option conventions leider bee Ed Res e beg 7 3 2 Common opti
47. again see Section 3 5 2 Memory dumps page 10 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 instruc tions that come with the format should explain The top level web2c Makefile has targets for making most common formats plain latex amstex texinfo eplain See Section 4 3 Formats page 17 for more details on TEX formats 4 3 Formats TEX formats are large collections of macros often dumped into a fmt file see Section 3 5 2 Memory dumps page 10 by tex ini see Section 4 2 Initial TeX page 17 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 see section unixtex ftp in Kpathsea The archive ftp ftp tug org tex lib tar gz a
48. all create memory dumps in slightly idiosyncratic thought substantially similar way so we describe the details in separate sections references below The basic idea is to run the initial version of the program see Section 3 5 1 Initial and virgin page 10 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 See Section 4 2 Initial TEX page 17 Metafont base See Section 5 2 Initial Metafont page 24 MetaPost mem See Section 6 2 Initial MetaPost page 32 Chapter 3 Commonalities 11 When making memory dumps the programs read environment variables and configura tion 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 3 5 2 2 Determining the memory dump to use The virgin form see Section 3 5 1 Initial and virgin page 10 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 begin
49. and considerable advantages For a complete description of the TEX language see The TEXbook see Appendix B References page 55 Many other books on TEX introductory and otherwise are available 4 1 tex invocation TEX usually invoked as tex formats the given text and commands and outputs a corre sponding 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 see Appendix B References page 55 TEX Metafont and MetaPost process the command line described here and determine their memory dump fmt file in the same way see Section 3 5 2 Memory dumps page 10 Synopses tex option texname tex tex commands tex option first line tex option amp fmt args TEX searches the usual places for the main input file texname see section Supported file formats in Kpathsea 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 fo
50. and if mpxfile is not specified output goes to standard output DMP was written to process the output of a Troff pipeline fed the output of mpto troff see Section 6 6 mpto invocation page 35 DMP understands all the Dc graph ics functions that dpost does but it ignores x X device control functions such as x X SetColor x X BeginPath and x X DrawPath The available font names are defined in the support file trfonts map which DMP looks for along the MPSUPPORT path Another support file trchars adj also looked for along the MPSUPPORT path contains a character adjustment table which should reflect the shift amounts found in the standard PostScript prologue for Troff and dpost found in the TRFONTS directory Such an adjustment table is unnecessary for some Troff implementations in which case trchars adj should be replaced by an empty file but it must still exist DMP was written for one particular Troff implementation and it unfortunately has many built in assumptions about the output and fonts file formats used by Troff which may not be satisfied in other environments In particular GNU groff uses some extensions in its file formats described in groff_font 5 and groff_out 5 which make its output completely unusable for DMP On the other hand the Troff version found in Sun Solaris 2 x and perhaps other systems derived from System V R4 works fine with the default settings If
51. ays be stripped of underlines and converted to uppercase before checking whether they collide 8 2 Weave Translate WEB to TEX Weave creates a TEX document from a WEB source file see Chapter 8 WEB page 38 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 writ ing the output by default there is no change file The program accepts the following option as well as the standard verbose help and version see Section 3 2 Common options page 7 6 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 be ginning 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 8 3 Pooltype Display WEB pool files Pooltype shows the so called string n
52. b hnn Er eE ERES 21 Unicod ipt ee 2s oeeve mlt cm iiris Ree 15 Un Tto no xeshbee eet due e eae ite V EORR d edes 26 unSrt DSte i eeeerbkRP RR RE one DOES 31 using local codepage to display messages 9 WEES Input 2 eepRORI PCM C22 tags 15 y validation of DVI files 04 41 validation of GF files 02 004 48 validation of PK files 004 46 validation of TFM files 000 50 validation of VF files 0 000 52 64 verbatimtex MetaPost command 35 verbose BibTEX output suppressing 36 verbosity enabling eeeeeeeeesess 7 version number finding 7 vertical escapement 200s eee eee 49 VF files converting property lists to 53 V tOVDels eesenheesderde eme pr RI eden Pies 52 virgin PLOBTAMS jens obi etre RUP dub bonnet deine 10 virtual font creation 0 eee eee 53 virtual fonts expanding issues 41 virt al fonts kn th 4 RI S 45 virtualfonts Utxt i x Rr RRE PRG 45 WpbOWV o ise iserenePesbrp rera ends er ed 53 W WEAVE AEE E EEEE TE E ET E E ao 39 bug a eae 38 WEB pool files displaying suus 39 WEB programs compiling 38 WEB programs typesetting 39 WEB2C search path for TCX files 20 Weber Olaf pex RUE PU Re PE ERU EDT ERR 1 Wwebmac tex i perdere R
53. bute this software and its documen tation 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 amp 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 amp T disclaims all warranties with regard to this software including all implied warranties of merchantability and fitness In no event shall AT amp 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 Appendix B References 55 Appendix B References Kpathsea See section Top in Kpathsea Dvips and Afm2tfm See section Top in Dvips 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 10 11 12 13 14 15 16 17 18 19 20 21 TFX and computer typesetting in general ftp ftp math utah edu pub tex bib texbook1 bib For a bibliography of formal articles and technical reports on the T X proje
54. compatibility y and 1 are accepted as synonyms of t It is dis abled by default to avoid security problems When enabled the shell command string which first undergoes the usual TEX expansions just as in special 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 The system call either happens at output time or right away according to the absence or presence of the immediate prefix as usual for write If you as a TEX administrator wish to implement more stringent rules on what can be executed you will need to modify tex ch 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 au tomatically 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 th
55. cs 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 lt m lt 60 O n 56 initially n 56 paint 0 24 12 20 2043 newrow O n 55 paint 24 12 20 2047 newrow O n 54 paint 24 12 20 2051 newrow O 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 2253 newrow 2257 newrow 2261 newrow 2265 newrow 2269 newrow 2273 eoc n 5 paint 8 23 11 n 4 paint 10 22 12 n 3 paint 24 11 22 n 2 paint 24 11 22 n 1 paint 24 11 22 n 0 paint 24 11 22 O O O OSN 0O Chapter 10 Font utilities 49 lt This pixel s lower left corner is at 3 57 in METAFONT coordinates KKK KK ok K FK K K K K ok ok K K K FK 2K OK K K K OK FKK Kk kK 2K 2K 2 FK FK K 2K K K K K K K K K KKK K K K 2K 2K FK FK K K 2K 2K ook ok 2K 2K 2K 3K K K K FKK KK K K 2K 2 FK FK K ok K K K K K K K K KKK kK K K 2K 2K FK FK K K 2K K oko FK 2K 2K 2K 3K K K K FKK KK K K 2K 2K FK FK K 2K K K K K K K K K KKK KK K 2K 2K FK FK K K 2K K K K FK 2K 2K 2K 3K 2K K K FKK Kk kK 2K 2K 2 FK FK K ok K K K K K K K K FKK kkk K K 2K K K FKK KK K 25 2K 2K K K K K K Kk kkk k k K KK kK K kK K K K 28 2K kk k k K K KKK K K K 2K 2K K K K 2K OK kk kK K K K K K KKK KK K K K K K K K DK 2 K K K K 2K 2K FK FK K K 2K K K FK FK 2K 2K 2K FK K K K DK 2K K KK K 2K 2 FK FK
56. ct see the books TEX The Program or Metafont The Program cited below Bil87 Neenie Billawala Write white printing engines and tuning fonts with Metafont TUGboat 8 1 29 32 April 1987 GMS94 Michel Goossens Frank Mittelbach and Alexander Samarin The LaTEX Companion Addison Wesley Reading MA USA 1994 Hob89 John D Hobby A Metafont like system with PS output TUGboat 10 4 505 512 December 1989 Hob92 John D Hobby A User s Manual for MetaPost Technical Report CSTR 162 AT amp T Bell Laboratories 1992 Hob93 John D Hobby Drawing Graphs with MetaPost Technical Report CSTR 164 AT amp T Bell Laboratories 1993 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 refer ence to the C programming language and a good companion to Kernighan and Ritchie KL93 Donald E Knuth and Silvio Levy The CWEB System of Structured Docu mentation Version 3 0 Addison Wesley Reading MA USA 1993 Knu84 Donald E Knuth A torture test for TEX Report No STAN CS 84 1027 Stanford University Department of Computer Science 1984 KnuS86a Donald E Knuth A Torture Test for METAFONT Report No STAN CS 86 1095 Stanford University Department of Computer Science 1986 Knu86b Donald E Knuth The TEXbook volume A of Computers and Typesetting Addison Wesley Reading MA USA 1986 Knu86c Donald E Knuth TEX The Prog
57. d in AT amp T technical report CSTR 54 Troff User s Manual Revised 1992 Documentation on the subtle differences in other Troff implementation is harder to find except for GNU groff where it s all documented in the above mentioned groff font 5 and groff out 5 Any contributions to improve the portability of DMP or to make it work with GNU groff are welcome of course Some of the above description was edited from the dmp c source file written by John Hobby The only options are page 7 6 help and version see Section 3 2 Common options 6 6 MPto Extract labels from MetaPost input MPto extracts the labels from a MetaPost input file this is the contents of any btex etex and verbatimtex etex sections This program is generally invoked by MakeMPX see Section 6 3 makempx invocation page 32 Synopsis mpto option mpfile The input comes from mpfile no path searching is done The output goes to standard output Leading and trailing spaces and tabs are removed and various predefined typesetter commands are included at the beginning of and end of the file and of each section The program accepts the following options as well as the standard help and version see Section 3 2 Common options page 7 troff Surround the MetaPost sections with Troff commands tex Surround the MetaPost sections with TEX commands This is the default 6 7 Newer Compare file modification ti
58. e 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 Chapter 4 TEX Typesetting I 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 see Section 3 5 2 Memory dumps page 10 For a detailed comparison of virgin and initial forms see Section 3 5 1 Initial and virgin page 10 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 see Section 4 1 tex invocation page 14 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
59. e 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 see section Supported file formats in Kpathsea It does no path searching for aux files The program accepts the following options as well as the standard help and version see Section 3 2 Common options page 7 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 bb1 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 I3TEXable documentation for general BibTEX users btxhak tex IXTEXable 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 coll
60. e 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 see Section 3 2 Common options page 7 change chfile ch Apply the change file chfile as with Tangle and Weave see Chapter 8 WEB page 38 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 section Supported file formats in Kpathsea 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 Chapter 5 Metafont Creating typeface families 29 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 Chapter 6 MetaPost Creating technical illustrations 30 6 MetaPost Creating technical illustrations MetaPost is a picture drawing lang
61. ection including references for all the stan dard TEX books and a complete bibliography for TUGboat Chapter 7 BibTEX Bibliographies 37 7 2 Basic Bib TEX 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 see section unix tex ftp in Kpathsea plain abbrv acm alpha apalike ieeetr siam unsrt btxbst doc 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 First names month names and journal names are abbreviated Names are printed in small caps Alphanumeric labels e g Knu66 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 IATEX which also changes the citations in the text to be author year Numeric labels entries in citation order IEEE abbreviations article titles in quotes Numeric labels alphabetic order Math Reviews abbreviations names in small caps Lists entries in citation order i e unsorted The template file and documentation for the standard styles Chapter 8 WEB Literate programming 38 8 WEB Literate programming WEB languages allow you to write a single source file that can produce both a compi lable program and
62. ed interpretation by the shell Metafont searches the usual places for the main input file mfname see section Sup ported file formats in Kpathsea 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 see section mktex configuration in Kpathsea 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 mf put if no input file was specified A GF file contains bitmaps of the actual character shapes Usually GF files are converted immediately to PK files with GFtoPK see Section 10 2 gftopk invocation page 46 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 see Section 5
63. eee eh eor ed ice 45 10 2 GFtoPK Generic to packed font conversion 46 10 38 PKtoGF Packed to generic font conversion 46 10 4 PKtype Plain text transliteration of packed fonts 46 10 5 GFtype Plain text transliteration of generic fonts 48 10 6 TFtoPL TEX font metric to property list conversion 50 10 7 PLtoTF Property list to TEX font metric conversion 52 10 8 VFtoVP Virtual font to virtual property lists 52 10 9 VPtoVF Virtual property lists to virtual font 53 10 10 Font utilities available elsewhere 00000 cece 59 Appendix A Legalisms ee 94 Appendix B References 55 loo A Cr 57 ii Chapter 1 Introduction 1 1 Introduction This manual corresponds to version 7 5 4 of Web2c released in February 2005 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
64. 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 see Section 3 2 Common options page 7 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 Chapter 8 WEB Literate programming 39 underline When this option is given tangle does not strip underline characters from iden tifiers 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 alw
65. fmt creation time the basic idea is to specify the mltex option to TgX 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 MLTpEX defines Aside from these MLTEX is completely compatible with standard TEX 4 4 1 1 Ncharsubdef 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 nec essarily existing in the current font using two character glyphs that do exist Thus it Chapter 4 TEX Typesetting 19 defines whether a character glyph code either typed as a single character or using the Nchar primitive will be mapped to a font glyph or to an Naccent 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 Ncharsubdef as follows Ncharsubdef 138 18 101 For the plain
66. ge and seldom changing original WEB source files See section unixtex ftp in Kpathsea 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 see section Bugs in Kpathsea See also the Web2c home page http www tug org web2c Points worth repeating e Before starting the standard compilation and installation you must install the basic fonts macros and other library files See section Installation in Kpathsea e If you do not wish to use the standard file locations see section Changing search paths in Kpathsea e Some Web2c features are enabled or disabled at configure time as described in the first section below 2 1 configure options This section gives pointers to descriptions of the with and enable configure argu ments 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
67. he 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 with 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 with hp2627win HP2627a color graphics terminals mftalk with mftalkwin Generic window server see web2c window mftalk c next with next NeXT window system This requires a separate program called DrawingServant available separately See the web2c window next c regis with regiswin Regis terminals sun with 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 with tektronixwin Tektronix terminals uniterm with 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 with tek select
68. ilar program This is from the book C A Reference Manual by Samuel P Harbison and Guy L Steele Jr see Appendix B References page 55 main Are we little or big endian From Harbison amp Steele union long 1 char c sizeof long u Wed 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 3 5 3 Editor invocation TEX Metafont and MetaPost all by default stop and ask for user intervention at an error If 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 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 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 IATEX and other macro packages provide other interfaces to input that allow different notation here we are concerned only
69. iles are considerably smaller than the corresponding gf files so they are generally the bitmap font format of choice Some DVL processing programs notably Dvips only support PK files and not GF files Synopsis gftopk option gfname dpilgfl pkfile The font gfname is searched for in the usual places see section Glyph lookup in Kpath sea 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 see Section 3 2 Common options page 7 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 GF type see Section 10 5 gftype invocation page 48 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 dpilpk gffile The font pkname is searched for in the usual places see section Glyph lookup in Kpath sea To see all the relevant paths set the environment
70. iletype no mktex filetype Turn on or off the mktex script associated with filetype The only value that makes sense for filetype is mf 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 see Section 3 5 2 Memory dumps page 10 For a detailed comparison of virgin and initial forms see Section 3 5 1 Initial and virgin page 10 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 Section 5 1 mf invocation page 23 The only memory dump file commonly used with Metafont is the default plain base also known as mf base again see Section 3 5 2 Memory dumps page 10 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 Chapter 5 Metafont Creating typeface families 25 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 tmodes mf file see Section 5 3 Modes page 25 This file has no counterpart in TEX or MetaPost In the past it was some
71. im 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 has 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 See Appendix B References page 55 Chapter 2 Installation 2 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 section Installation in Kpathsea 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 lar
72. ing the DVI postamble first page start page spec Start at the first page matching page spec which is one or more signed inte gers separated by periods corresponding to TEX s Ncount0 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 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 cmsli0 loaded at size 655360 DVI units Chapter 9 DVI utilities 43 Font 23 cmbxi0 1oaded at size 655360 DVI units Font 0 cmri0 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 do
73. ions page 7 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 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 see section Supported file formats in Kpathsea 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 Chapter 5 Metafont Creating typeface families 28 control over the indentation and line breaks Each line of input is translated independently of the others Further control is allowed via Metafont comments e Metafont comments following a single should be valid TeX input But Metafont material can be included within vertical bars in a com
74. ior and the standard values will show up on your terminal The usual differences these are all acceptable are e string usage and table sizes e glue set ratios e down4 right4 and y4 commands in DVItype output e dates and times Any other differences are trouble The most common culprit in the past has been compiler bugs especially when optimizing See section TEX or Metafont failing in Kpathsea 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 gt amp 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 1log if you like 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 see section Config files in Kpathsea 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
75. is mapped to TEX s internal code MLTEX defines substitutions for a non existing character glyph in a font with a Naccent construction made out of two separate character glyphs T CX 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 e The best way to specify a TCX file is to list it explicitly in the first line of the main document 4 amp translate file tcxfile e You can also specify a TCX file to be used on a particular TEX run with the command line option translate file tcxfile e TCX files are searched for along the WEB2C path e Initial TEX see Section 4 2 Initial TEX page 17 ignores TCX files The Web2c distribution comes with a number of TCX files Two important ones are ili ti tcx and i12 t1 tcx which support ISO Latin 1 and ISO Latin 2 respectively with Cork encoded fonts a k a the IXTEX T1 encoding TCX files for Czech Polish and Slovak are also provided Syntax of TCX files Line oriented Blank lines are ignored Whitespace is ignored except as a separator Comments start with and continue to the end of the line peus Ee E 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
76. l ERR le ERE 26 ditroff output converting to MPX 34 DMP ois pst edes aa a e eA LR Pedes 33 34 DMP invoked by MakeMPX 33 dnp Q tte edge eg desea see GG ERU ew Ph 35 dot files written by TgX programs 14 downloading of fonts for MetaPost labels 31 Spore 34 DrawingServant luue cec rn ns 26 DrawPath ditroff command 34 dump fle c3 i553 anco en cato pte s ebbe dal 8 dumping memory 225 eaim egre dettes 10 DVI comment specifying 16 DVI files converting to MPX 33 DVI files creating multiple 22 DVI files explained lluuessese 45 DVI format definition 0 0000 41 DVI opcodes showing seeeeeeesee 42 DYT utilities 2er eren erret rats Al dvliCOpyzosi a Sat seme ce tee a dee ed e ep n Al dvitompiusclbleA xb eke atte a aie haces 33 DVETOMP 12a Ro RR LEGS REEL 33 DVItoMP invoked by MakeMPX 38 dvitype DVI validation 41 dvitype output example 0 42 dvitype web 2 26 BPO RIE beveru m be RE dus 41 dx horizontal escapement sss 47 49 dy vertical escapement sse 49 dynamic array allocation 5 dynamic Metafont mode definitions with smode rp 25 dynamic packing variable 47 E e response at error prompt 00 12 eimcumdlex ioo rerai nai a E
77. lates 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 see section Supported file formats in Kpathsea To see all the relevant paths set the environment variable KPATHSEA_DEBUG to 1 before running the program Output goes to standard output Chapter 9 DVI utilities 42 The program accepts the following options as well as the standard help and version see Section 3 2 Common options page 7 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 magni fication 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 e 0 Global document information only e 1 Most DVI commands included and typeset characters summarized e 2 Character and movement commands explicitly included 1 2 e 3 DVI stack and current position calculations included e 4 Same information as level 3 but DVItype does random positioning in the file read
78. line options are described in the previous section The configura tion file options that let you control some array sizes and other features are described in Section 2 5 Runtime options page 5 3 5 1 Initial and virgin The TEX Metafont and MetaPost programs each have two main variants called initial and virgin As of Web2c 7 one executable suffices for both variants and in fact the ini executables are no longer created The initial form is enabled if 1 the ini option was specified or 2 the program name is initex resp inimf resp inimpost these variants are no longer typically installed or 3 the first line of the main input file is Z amp 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 see Section 3 5 2 2 Determining the memory dump to use page 11 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 3 5 2 Memory dumps In typical use TEX Metafont and MetaPost require a large number of macros to be prede fined therefore they support memory dump files which can be read much more efficiently than ordinary source code 3 5 2 1 Creating memory dumps The programs
79. lso 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 IATRX 2e new versions are released approximately every six months with patches issued as needed The old release was called IXTEX 2 09 and is no longer maintained or supported TFX attempts to provide generic markup instructions such as emphasize instead of specific typesetting instructions such as use the 10 pt Computer Modern italic font The ATEX home page http www latex project org context ConT Xt is an independent macro package which has a basic document struc turing approach similar to TFX 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 Chapter 4 TEX Typesetting 18 amstex The official typesetting system of the American Mathematical Society Like IATEX it encourages generic markup commands The AMS also provides many IATEX package for authors who prefer IATEX Taken together they are used to produce nearly all AMS publications e g Mathematical Reviews The AMS TEX 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
80. ly 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 Chapter 10 Font utilities 50 10 6 TFtoPL TFX font metric to property list conversion TFtoPL translates a TEX font metric TFM see section Metric files in Dvips 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 p11 The font tfmname extended with tfm if necessary is searched for in the usual places see section Supported file formats in Kpathsea To see all the relevant paths set the environment variable KPATHSEA_DEBUG to 1 before running the program If plfile which is extended with p1 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
81. ment 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 ie the x2r is treated as an identifier e 44 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 6 e 4 tokeni other tokens introduces a change in MFT s formatting rules all the other tokens will henceforth be translated according to the current conventions for tokenl 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 fi11 like an ordinary tag or variable name In fact you need a 44 command even to get parentheses to act like delimiters e hhh introduces an MFT comment i e MFT ignores the remainder of such a line e Five or more 4 signs should not b
82. mes Newer compares file modification times Synopsis newer src dependent Newer exits successfully if the file src exists and is older as dependent i e the modification time mtime of src is greater than that of dependent See section Attribute Meanings in GNU C Library Although this could be written as a Perl script see the perlop man page or using the full time option supported by 1s see section Is invocation in GNU core utilities it seems undesirable to depend on such independent and sadly non universal programs This is used by MakeMPX see Section 6 3 makempx invocation page 32 Chapter 7 BibTEX Bibliographies 36 7 BibTEX Bibliographies BibTEX automates much of the job of typesetting bibliographies and makes bibliography entries reusable in many different contexts 7 1 BibTgEX invocation BibTEX creates a printable bibliography bb1 file from references in a aux file gen erally written by TEX or MITEX The bb1 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 bb1 file Synopsis bibtex option auxfile aux The output goes to the basename of auxfile extended with bb1 for example bibtex wherever foo aux creates foo bbl Bib TEX also writes a log file to the basename of auxfile extended with blg Th
83. minus the bitmap width plus the x offset Chapter 10 Font utilities 48 712122018 5 Finally run lengths of black pixels alternate with parenthesized run lengths of white pixels and brackets indicate a repeated row 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 dpilgf The font gfname is searched for in the usual places see section Glyph lookup in Kpathsea 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 see Section 3 2 Common options page 7 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 600 dpi with the mode ljfour from modes mf available from ftp ftp tug org tex modes mf with both mnemoni
84. more the character substitutions actually performed at Nshipout time will be recorded 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 predicted therefore TCX files providing the possibility of changing of the conversion tables on on the fly has 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 Chapter 4 TEX Typesetting 20 This is entirely independent of the MLTEX extension see Section 4 4 1 MLTeX page 18 whereas a TCX file defines how an input keyboard character
85. mp mp commands mpost option first line mpost option amp mem args MetaPost searches the usual places for the main input file mpname see section Sup ported file formats in Kpathsea 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 Post Script figures For example with this TEX command special psfile filename or by using epsf tex see section EPSF macros in Dvips The MetaPost construct btex tex input etex calls MakeMPX to generate a MPX file containing a MetaPost picture expression corre sponding to tex input see Section 6 3 makempx invocation page 32 The construct Chapter 6 MetaPost Creating technical illustrations 31 verbatimtex tex input etex simply passes the tex input through to MakeMPX and thus to TEX For example if you are using ATEX your MetaPost i
86. ms 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 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 1log not tmp foo dvi and tmp foo 1log You can use the output directory option to cause all output files that would nor mally be written in the current directory to be written in the specified directory instead See Section 3 2 Common options page 7 If the current directory is not writable and output directory is not specified the main programs TEX Metafont MetaPost and BibTEgX make an exception if the config file value TEXMFOUTPUT is set it is not by default output files are written to the directory specified Chapter 3 Commonalities 10 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
87. nabled See Section 5 4 Online Metafont graphics page 26 x includes dir x libraries dir Define the locations of the X11 include files and libraries by default configure does its best to guess See section Optional Features in Autoconf A copy is in kpathsea CONFIGURE 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 See section configure environment in Kpathsea Anyway here are the possibilities Chapter 2 Installation 4 DFIXPT DNO_MF_ASM Use the original WEB fixed point routines for Metafont and MetaPost arith metic 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 See Section 4 5 IPC and TEX page 21 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
88. national characters llsls lun 19 introductione ssar pes o Rd dee RE R il llo ise teh igo ced ge eget tie a desi Adon tap islin dua de Sade 21 TPC DEBUG ld ts cdeee esis area Ped ee ERA ei 4 21 kerning table in TFM files 51 keyboard character code translating 20 Knuth Donald Ei 2 22 32 9 Rs 1 28 KPATHSEA DEBUG erbe Re RE RS PI 8 KRN property 5 2 dine y et bebe to PORE Een 51 L label font 32 genccen to 22 ARD I RULES REIR 27 LABEL property fo etre b dae a E E 51 labels extracting from MetaPost input 35 labels for MetaPost 0 2 eee eee 32 language support in TRX 0 2 00 18 languages hyphenation rules for 21 DXDEX Ls siete DERE h ReDFIAGRERRERTINA ds 17 Latin Modern ie ERR ES 53 left side bearing 44 47 49 legalis 4 515 gre rtr be leg abso eave wee SED 54 licensing terms carcs peo e we nie rete ERE 1 LIG property ia cae d error He ee ee gases 51 ligature table in TFM files 51 LIGTABLE property 6l ew v xe ERO SESS 51 linking binariess 422 ER IBIEYD E RR EE EXE 8 links to Dbinarles 2222s sre E Pene 11 literate programming 405 38 litprog shsu edu secs aes seed ened anes 38 LittleEndian machines 05 11 log file BID TP essere RREEREREEET ERR 36 M machine dependencies 00 eee eee 11 machine readable converting property lis
89. ngbats 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 see Appendix B References page 55 5 1 mf invocation Metafont usually invoked as mf reads character definitions specified in the Metafont pro gramming 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 see Appendix B References page 55 Metafont processes its command line and determines its memory dump base file in a way exactly analogous to MetaPost and TEX see Section 4 1 tex invocation page 14 and see Section 3 5 2 Memory dumps page 10 Synopses mf option mfname mf mf commands mf option Mfirst line mf option amp base args Most commonly a Metafont invocation looks like this mf mode mode mag magnification input mfname The single quotes avoid unwant
90. nopsis vftovp option vfname vf tfmname tfm vplfile vp111 The fonts vfname and tfmname extended with vf and tfm if necessary are searched for in the usual places see section Supported file formats in Kpathsea 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 see Section 3 2 Common options page 7 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 0 followed by octal digits as in
91. nput file must start with a verbatimtex block that gives the necessary documentclass or Ndocumentstyle begin document command You will also need to set the enviroment variable TEX to latex see Section 6 3 makempx invocation page 32 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 Other typesetters can be supported with no change to MetaPost itself only MakeMPX needs to be updated 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 see section Fonts in figures in Dvips 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
92. ode 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 43 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 2724 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 2716 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 ref erence 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
93. on unixtex ftp in Kpathsea 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 9 1 DVIcopy Canonicalize virtual font references DVIcopy reads a DVI file expands any references to virtual fonts see section Virtual fonts in Dvips 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 Loutdvi 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 see Section 3 2 Common options page 7 magnification integer Override existing magnification in indvi with integer 1000 specifies no magni fication 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 inte gers separated by periods corresponding to TEX s Ncount0 9 parameters at shipout time matches anything Examples 3 1 4 9 2 DVItype Plain text transliteration of DVI files DVItype trans
94. ons 00 cece cence ence nhan T 3 3 Pathsearehing iss oue ek REB Ma Mi peed een cae 9 34 Output file locations ssec eme e bed a needa kee ees 9 3 5 Three programs Metafont MetaPost and TEX 10 3 5 1 Initial and virgin 0 0 eee eee a 10 3 5 2 Memory d mps i4 eld end Mania edd edad bah cad dd es 10 3 5 2 1 Creating memory dumps uees esee 10 3 5 2 2 Determining the memory dump to use 11 3 5 2 3 Hardware and memory dumps sess 11 2 5 9 Editor miwocatlon peesaa aasan dct e eoe Rede 12 3 5 4 input filenames sssuussssseeese eee eee 12 4 T X Typesetting eere 14 4 1 tex invocatione RR enr RE eU CREAR HE e 14 42 Imtal TEX nec see tad naan pre e nl va ace tens RU ee 17 49 FOMA PPP 17 4 4 Languages and hyphenation esses esses 18 4 4 4 MLTIEX Multi lingual TEX seeeeeeeeennnnA 18 4 4 1 1 charsubdef Character substitutions 18 4 4 1 2 Ntracingcharsubdef Substitution diagnostics 19 4 4 2 TCX files Character translations 2 4 19 4 4 3 Patgen Creating hyphenation patterns 21 45 IPG aud TEX nise ra a t e RR i 21 4 6 TEX extension8 zo s cee kg bh RR e 21 5 Metafont Creating typeface families 23 9 l mf invocatlOn o e eee sa eda Pada poe 23 5 2 Initial Metafont susssslelsssl hh 24 5 3 Modes Device definitions for Me
95. oolkit kit ips reied e red 26 sewith xll irse ReR IPLE aes ER due 26 c with xliuin is gaecseri esae a pee red 26 SODA Gis iilis oseekriedgde Rom ad oud GAG 1 tone eas 9 basesbase license ek rg s ER REG S 11 Dasesd mpname erein i neb 199 3 b Dens ena 8 zchangeschfilecs s erasgki a ee va Re 28 charcode format type s 50 52 p compiler options se sirier re riecorer eese 3 sdpisreal ciockeereiReb5iieGesh RUP P nes 42 lc m 15 file line erfore 4 nse G Dpbgeneess 7 file line error style 21 n Xs T fmt 2dumpname 2 29 0 mideme expers 8 simtisfmt 249 9 eR E EW OUS PX VEA SE 11 geometry supported with Xt 26 halt on error iii ek ae ets as bas Pe ee sees 8 Umages susc ep paria a ene died te bebe east Ala dedu 48 SEND 6 edad sees on PR qe hae dae 8 10 interactionsSLtring oore ede aes tenia RI 8 will Em 15 s3p6 Statb ereny pehare LR REL HE I dinde 15 jobname string o gostei praat Ride R ERA 8 57 kpathsea debug number s 8 Llength number iiisewgase dll kn dh eed 38 3306086 3 055 Sorta ne tee a dees aA dixere 39 LOWErCASCG 2dikexsagec niece Peat an Ra 38 magnification integer 41 42 Smak pagesi irei esu cae eee hne 41 42 mnem dumpname ee vae y Peed nee hws 8 men mem inz2i248eskPSPesUeever pee MEE eta I1 min crossrefs ng iie p ce uerb oe REY 36 nixedca s8 0 4 edible S9 skr bre pet 38 smktex filetype 2 22 3
96. opsis gftodvi option gfname gf The font gfname is searched for in the usual places see section Glyph lookup in Kpathsea 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 e 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 e title font default cmr8 for the header information at the top of each output page e label font default cmtt10 for the labels on key points of the figure e slant font no default for diagonal lines which are otherwise simulated using hori zontal and vertical rules To change the default fonts you must use special commands in your Metafont source file The program accepts the following option as well as the standard verbose help and version see Section 3 2 Common opt
97. ourceforge 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 e Virtual font creation CTAN fonts utilities fontinst Appendix A Legalisms 54 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 au thors 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 almost all of the Kpathsea library is covered by the GNU Library General Public License but part of one file is covered by the regular GNU General Public License see section Introduction in Kpathsea Therefore the binaries resulting from a standard Web2c compilation are also covered by the GPL so if you re distribute the binaries you must also offer to distribute the complete source that went into those binaries See the files COPYING and COPYING LIB for complete details on the GPL and LGPL The following notice must be included by the terms of the MetaPost copyright Permission to use copy modify and distri
98. pported in TEX 18 human readable text converting DVI to 41 human readable text converting GF to 48 human readable text converting PK to 46 human readable text converting TFM to 50 human readable text converting VF to 52 hyphenation and languages 18 hyphenation patterns creating 21 I EEREN ia o eb Pace CPU PEIUS eT E Wd paura 1 Identifier caS6 s e ceo rox e ne isha Vr hr es 38 identifier collisions 05 39 identifier length eye keetee cretesi ni iei 38 identifiers with underlines 39 LOCCLR Stasi t ord eor lee eeu nee riri d e UE 37 3li1cUl ete rice tt E E E A A E 20 a e a A CCX 1 524 E EE aw RO Reds 20 Info format abb miiir uoaa es 18 initial form enabling 8 initial Metafont 3 44 s se be erede RS 24 initial MetaPost iecur EE des 32 initial programs sess pisani By e eher 10 initial TEX c a diee bL e E DEP EROR tes 17 initializations lengthy 0 10 input filenames 2 ze ERR gt evened BRIT 12 Index install bases Make target 4 install fmts Make target sess 4 install formats Make target 4 install mems Make target sse 4 installatlOn i eEReeleePRReee ED IPROL oe oe 2 interaction between TCX files and 8bit 20 interaction MOdE 0 cece eee eens 8 inter
99. priate verbatimtex header in the MP source see Section 6 1 mpost invocation page 30 TROFF Likewise for Troff default is eqn d troff Tpost You may need to replace Tpost by Tterm where term is the PostScript device name for your Troff implementation e g ps or psc see troff 1 If you change this you will also need to set the TRFONTS environment variable or configuration value to point to the appropriate font directory traditionally usr lib font devterm 6 4 DVItoMP DVI to MPX conversion DVItoMP converts DVI files into low level MetaPost commands in a so called MPX file This program is generally invoked only by MakeMPX see Section 6 3 makempx invocation page 32 Synopsis Chapter 6 MetaPost Creating technical illustrations 34 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 The only options are help and version see Section 3 2 Common options page 7 6 5 DMP Ditroff to MPX conversion DMP converts device independent Troff ditroff output files into low level MetaPost com mands in a so called MPX file This program is generally invoked by MakeMPX see Section 6 3 makempx invocation page 32 Synopsis dmp ditroff file mpxfilel If ditroff file is not specified input comes from standard input
100. propriate search path 6 Cv 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 TFX formats plain TEX I3TEX 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 Chapter 4 TEX Typesetting 14 4 TpX Typesetting TFX 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
101. put encoding See http www olsak net enctex html ipce 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 See Section 4 5 IPC and TEX page 21 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 T he only values that make sense for filetype are tex and tfm mltex If we are INITEX see Section 3 5 1 Initial and virgin page 10 enable MLTEX extensions such as Ncharsubdef Implicitly set if the program name is mltex See Section 4 4 1 MLTEX page 18 Chapter 4 TeX Typesetting 16 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 Enable or disable the write18 shell command feature This is also en abled if the environment variable or config file value shell_escape is set to t but the no shell escape command line option overrides this For backwards
102. r 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 Univer sity Press pi89 Michael D Spivak LAMSTpxX The Synthesis The TgXplorators Corporation 3701 W Alabama Suite 450 273 Houston TX 77027 USA 1989 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 Index Index define optiOnS cose c lem rx RES 3 expansion in filenames 13 76 4 amp magic humber ne v eive ee eI b EREA nni starting a filename s ree iieri i starts option NAMES em wee ESEE E EEE T starts option names 2 06 sess eee ees 7 disable dump share configure option 11 enable ipc configure option 15 help common option s sees eese T verbose common option see seess T version common option sees i with editor cmd eles lee eee 12 scWIth pSfwin l i222 eme ees RE EP 26 With hp262 Win ui eeeesu amp e step EERI S 26 With mnftalkwin i eve an cece rdg 26 With hext lb eters ER 26 ccWith r gisSWiDo il ie eos dia deena ge agus 26 With suntoolsWin soce ne de eee eau 26 With tektronixwin s sem esc iias 26 with unitermwih e esse edd ses 26 mx puto RES 26 with x t
103. r 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 see section Introduction in Dvips 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 prim itive By default it runs an external program named mktextfm to create any nonexistent TFM files You can disable this at configure time or runtime see section mktex configu ration in Kpathsea 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 Nopenout primitive this opens a security hole vulner able 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 Chapter 4 TEX Typesetting 15 this there is a configuration variable openout any which selects one of three levels of se curity When it is set to a for any no restrictions are imposed When it is set to r for restricted filenames beginning with
104. ram volume B of Computers and Type setting Addison Wesley Reading MA USA 1986 Knu86d Donald E Knuth The METAFONTbook volume C of Computers and Typesetting Addison Wesley Reading MA USA 1986 Knu86e Donald E Knuth METAFONT The Program volume D of Computers and Typesetting Addison Wesley Reading MA USA 1986 Knu86f Donald E Knuth Computer Modern Typefaces volume E of Computers and Typesetting Addison Wesley Reading MA USA 1986 Knu89 Donald E Knuth The errors of TEX Software Practice and Experience 19 7 607 681 July 1989 This is an updated version of iteKnuth 1988 ET Appendix B References 56 22 23 24 25 26 2T 28 Knu90 Donald Knuth Virtual Fonts More Fun for Grand Wizards TUGboat 11 1 13 23 April 1990 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 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 Lia83 Franklin Mark Liang Word hy phen a tion by com pu ter Technical Report STAN CS 83 977 Stanford University August 1983 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 Raste
105. rays 00005 5 redefined character substitutions 19 reference pixel 42 22 es eeeg ease en eee bes 4T Teferences asses bode Wha bd de aE uia 55 I6ElS ie ej4 499 E EP e Ry S ekDRES E RR DETE RE 26 Regis graphics support sssseessses 26 regression CEStING i scorrere erm wg 16 repeated TOWS tesedss pie ses eres 48 representation of strings 00000 40 right side bearing oe p e peer 47 49 right to left typesetting 000 22 Rokicki Tomas iile Reb erPs 1 run length encoded bitmaps 48 49 r ntime Options es ici e eee a e rira i eee RS 5 S scaled pixels 32e ete Enero 47 49 scaling of fonts i423 i oer eL Piao PR Rx 45 scanned images of fonts 04 53 security and openout 0 14 security and output files lesus 14 security and shell escapes 0 04 16 SetColor ditroff command 34 ShAPeS alo spices hee be ES delete bebe 23 sharing memory dumps sesssssss 11 shell commands in TEX suuuuuuss 16 shell escape enabling in TRX 16 BlamdDBULtoereecrgy p erPhe 9e EE Pd E ERERS 3T side bearings 5 44 ccc reniri ni PRAE hemes AT 49 sl nt Tonb 2c s e zr pex Me tta edad 27 slides Producing isse tarii res a 18 SILDEX E E PE EEE ee ae eee 18 small Metafont memory and modes 25 smode and dynamic Metafont mode definition
106. rd 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 Chapter 3 Commonalities 8 fmt dumpname base dumpname mem dumpname Use dumpname instead of the program name or a amp line to determine the name of the memory dump file read fmt for TEX base for Metafont mem for MetaPost See Section 3 5 2 Memory dumps page 10 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 see Section 3 5 1 Initial and virgin page 10 This is implicitly set if the program name is initex resp inimf resp inimpost although these variants are no longer typically installed 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
107. 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 installa tion directories and basic configure usage see section Running configure scripts in Autoconf a copy is in the file kpathsea CONFIGURE disable dump share Do not make fmt base mem files sharable across different endian architectures See Section 3 5 2 3 Hardware and memory dumps page 11 Chapter 2 Installation 3 without maketexmf default without maketexpk default without maketextfm default with maketextex default Enable or disable the dynamic generation programs See section mktex con figuration in Kpathsea The defaults are the inverse of the options i e every thing is enabled except mktextex enable shared Build Kpathsea as a shared library See section Shared library in Kpathsea with editor cmd Change the default editor invoked by the e interactive command See Sec tion 3 5 3 Editor invocation page 12 with epsfwin with hp2627win with mftalkwin with nextwin with regiswin with suntoolswin with tektronixwin with unitermwin with x with x toolkit KIT with x1iwin with x11 Define Metafont graphics support by default no graphics support is e
108. s xterm with x1li1win with x with x11 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 x toolkit no You cannot specify any of the usual X options e g geometry on the Meta font 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 environ ment 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 Chapter 5 Metafont Creating typeface families 27 5 5 GFtoDVI Character proofs of fonts GFtoDVI makes proof sheets from a GF bitmap file as output by for example Metafont see Chapter 5 Metafont page 23 This is an indispensable aid for font designers or Metafont hackers Syn
109. s with amp the program uses the remainder of that argument as the memory dump name For example running tex amp super reads super fmt The backslash protects the amp against interpretation by the shell 2 If the fmt resp base resp mem 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 amp 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 4 amp translate file tcxfile see Section 4 4 2 TCX files page 19 These two roles can be combined 4 amp 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 resp mpost For example if latex is a link to tex and the user runs latex foo latex fmt will be used 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 see section Byte order in GNU C Library This is a feature of the Web2c implementation and is not true of all TEX implementations
110. sc be gs 15 24 udi c 15 Smnemonics 22h le wexmenbridd dade ane Bann 48 sno file line error i 2 3 dv 9 bReeREE RS 7 no mktex filetype oss sis ss rs ees 15 24 no parse first lin86 2 2 9 shed ieee ta 8 no shell 68Cap6 2 e e p ieee RR RR 16 SOOM 9 output comment string sss 16 output directory c biolser deb Ine ier RUE 8 9 o utp t levelsnmnii peii niire ti u dad Eri 42 overflow label offset points 27 page start page spec sss 41 42 parse first l3h6 254 0 RR ERR Pepe 8 progname string oii dae eee eG d nme ens 8 1 CEYGCOPderzcoskzgcceepeb exe bese te ee 9 shell escape oebiece 9 ERR RESET REG 16 cShoW OpCOd 8 Lose RLEUI EXE RM SERERE 42 SB UIA3CU D66 34x RecIeIMS RE Du qiero PPP OI 39 s tylesmftfilo 1 2 4 ieee ed desea 28 LUTTE 32 SUDOISQ 1 ld IA E Ei imos 36 E EE 35 citexctexprogram isersud due doe eR Rcs 32 translate file tcxfile s 9 bZOf f casgokeodaoa eR Pun ce pods 32 33 35 nderline i wd cor PEG Pea 39 uppercase 2mm ii desis iGS eee g tales 38 SX andbsedeebtelubppAneiuiepentce scito ery coe Sera 39 used for Output seas ds prae deta E36 9 E UL EENE EEE EET 23 aux cross reference files 36 Dasdo o nie3SbeprebbuthN beeen oat Pu ues 24 bb1 bibliography files 36 bib bibliography databases 36 blg
111. tafont 25 5 4 Online Metafont graphics siiret niani ka e 26 5 5 GFtoDVI Character proofs of fonts 00000 27 5 6 MFT Prettyprinting Metafont source 2 00006 27 6 MetaPost Creating technical illustrations 30 6 l mpost mvocallOhaga ia excuse ea ew ds a don d dU Rod ng Rs efi 30 0 2 Initial Metab0SU z aeta nis ebtibpme dn CT im 32 6 3 MakeMPX Support MetaPost labels 004 32 6 4 DVItoMP DVI to MPX conversion lsleeseseseeeen 33 6 5 DMP Ditroff to MPX conversion 000 0c eee neces 34 6 6 MPto Extract labels from MetaPost input 35 6 7 Newer Compare file modification times 005 35 7 BibT X Bibliographies 36 G1 BiblEX invocation ised tis aa ee ei a wika 36 7 2 Basic BibTpX style files 0 eee eee 37 8 WEB Literate programming 38 8 1 Tangle Translate WEB to Pascal 0 000000 cee eens 38 8 2 Weave Translate WEB to TRX 0 0 2 ee eee ee 39 8 3 Pooltype Display WEB pool files 0000 0 eee uee 39 9 D VIGIUIDIOS uude us ben f cuenca o tenes 41 9 1 DVIcopy Canonicalize virtual font references 41 9 2 DVItype Plain text transliteration of DVI files 41 9 2 1 DVItype output example ssssese essere 42 10 Font utilities i0 024s54e5dne n sce EP RENTES 45 10 1 Fonteile tormats ergs as Deep ER
112. 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 pI 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 see Section 10 6 tftopl invocation page 50 and Section 10 7 pltotf invocation page 52 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 Chapter 10 Font utilities 46 The suffix vf identifies virtual font files for which vp1 is the human readable ana log See See Section 10 8 vftovp invocation page 52 and Section 10 9 vptovf invocation page 53 For further discussion of virtual fonts see CTAN doc virtual fonts knuth CTAN help virtualfonts txt and section Virtual fonts in Dvips This section is based on documentation in the original Unix TEX distribution by Pierre MacKay and Elizabeth Tachikawa 10 2 GFtoPK Generic to packed font conversion GFtoPK converts a generic font GF file output by for example Metafont see Section 5 1 mf invocation page 23 to a packed font PK file PK f
113. times 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 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
114. ts to er 52 53 MacKay Pierre oer een Gide hc geddiwts 46 macro packages major TEX 17 MACTOS basiG colos emeclI ERE v RRITer qe 2 macros predefining in memory dumps 10 magnaiticatlon 222222 RE ped rix Eee 41 42 main Hemnory 2 seus eddie Soles els aa pda 5 61 Make targets additional 0 4 makempx ceccus Red dee aed ed wee ae ee edd 32 MAKEMPX BINDIR 6 2 apa rr Rb doa eo dae he ai 39 Martin RICK ied ipe emet rc mem REIP 1 Mathematical Reviews esses 18 mathematical typesetting 14 mem file determining 11 tu entles 2 eu seco be abe a N 22 mem files plain only 0 32 mem files sharing 000 000 11 memory dump to use determining 1i memory d mpS oeenl4be 3 es rererere Ped 10 memory dumps and hardware 11 memory dumps contain date and time Ti memory dumps creating 10 mems Make target eee eere 4 meta characters in filenames 13 Metafont 24 3 tbonenrbceRzie asthe See ERE 23 Metafont geometry 2 eee ee eee 26 Metatont graphies8 roc ERR ERDDLPES 26 Metafont input files 000 23 Metafont inyoc tion sie eissi sorser rreri aitas 23 Metafont meets PostScript 4 30 Metafont online support new devices 26 Metafont source
115. uage similar to Metafont see Chapter 5 Metafont page 23 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 6 1 mpost invocation MetaPost installed as mpost reads a series of pictures specified in the MetaPost pro gramming language and outputs corresponding PostScript code This section merely de scribes the options available in the Web2c implementation For a complete description of the MetaPost language see AT amp T technical report CSTR 162 generally available in texmf doc metapost where texmf is the root of TEX directory structure See also e http cm bell labs com who hobby MetaPost html the MetaPost author s home page e http tug org metapost html papers packages and related information Also a standard MetaPost package for drawing graphs is documented in AT amp 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 see Section 4 1 tex invocation page 14 and see Section 3 5 2 Memory dumps page 10 Synopses mpost option mpname
116. umber of each string in a WEB pool file see Chapter 8 WEB page 38 as output by Tangle see Section 8 1 tangle invocation page 38 includ ing 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 see Section 3 2 Common options page 7 As an example of the output here is the edited output for tex pool o Q ig weed 255 ff Chapter 8 WEB Literate programming 40 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 Chapter 9 DVI utilities 41 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 see section Introduction in Dvips 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 see secti
117. utpub i a eda eo Ree o OE Ea 36 TERnara eee E EE e D Oan 14 TEX II ge RR Ru DA dled anes E ED Gee and eis EES 33 TeX XeL ics ities alec gen a Gein ie be Rar aE 22 POR EMG eso dh bree baud oa sua eed Fidei OP RERO ER RE Iy TEX bibliographies for 36 TEX creating from Metafont 2T TEX creating from WEB 39 TEX description Of serios oir REED 14 TEX extensions 0 ise ne 21 TEX format packages for 0 17 TEX initial iioi site Hs eR SERE pd 17 TEX input files found 00 14 TEX INVOCAUION epe era RR agra nee ques 14 TEX Metafont and MetaPost 10 TEX Web2c implementation of il TEXBIB search path for bib files 36 TEXEDIT 2 2emc ek eR BORER S end 12 texfonts map o sndecie ect eu te ative 9 TTexinto e s ver hbeRer pei ERREUR REX ERR 18 teM GUT occie aeta o Fe d da eh erras 9 texmfmpiC eisgee mre RePEc bey RR 26 texmfmp c and openoutnameok 14 TEXMFOUTPUT used if unwritable 9 btexput iji2x veeree rude DAR Pei da RR 14 text extracting from MetaPost input 35 Index TFM files converting property lists to 52 TFM files explained 004 45 TFM files memory for 4 5 TFM files output by Metafont 23 TFM files output by MetaPost 30 TFM width of characters
118. 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 see Section 3 2 Common options page 7 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 Chapter 10 Font utilities 4T pktype pkname dpi pk The font pkname is searched for in the usual places see section Glyph lookup in Kpathsea 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 see Section 3 2 Common options page 7 As an example of the output here is the abridged translation of the letter K in cmr10 as rendered at 600dpi with the m
119. with a leading Ox 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 code the dest printable i e printed as is in diagnostics and the log file instead of in notation By default no characters are translated and character codes between 32 and 126 inclu sive decimal are printable It is not possible to make these or any characters unprintable Specifying translations for the printable ASCII characters codes 32 127 will yield un predictable 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 Chapter 4 TEX Typesetting 21 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 active T CX encoding and whether characters
120. wn3 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 xO 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 h20 v 243725786 w 20 x 0 y70 z 0 hh 20 vv 2770 563 eop 140 Explanation e The DVItype options are recorded at the beginning followed by global information about the document including fonts used e Each DVI command is preceded by its byte position in the file 42
Download Pdf Manuals
Related Search
Related Contents
Betriebsanleitung Palettenwaage Voir la fiche Trekstor i.Beat sweez FM, 512MB, Silver iHome IDM12 Case Logic ULA-110P Netbookcase 10" purple Megasat SAT>IP Server Bedienungsanleitung 536KB MD300C3 FDA Operator`s Manual V1.0C5 Copyright © All rights reserved.
Failed to retrieve file