TeXhax Digest Friday, March 10, 1989 Volume 89 : Issue 20 Moderators: Tiina Modisett and Pierre MacKay %%% The TeXhax digest is brought to you as a service of the TeX Users Group %%% %%% in cooperation with the UnixTeX distribution service at the %%% %%% University of Washington %%% Today's Topics: Bug or feature? Linear system macro? Re: macros for automatic italic corrections \topskip--problems with line- and page-breaking Hopefully trivial (La)TeX Question Problem with LaTeX picture environment Concerning nested conditionals Re: METAFONT, 118dpi fonts - HELP ! About the existence of a font repository... \fontdimen's Dvipage and fonts on sun 386i Re: Postscript Fonts in LaTeX TUG information form ---------------------------------------------------------------------------- Date: Mon, 06 Mar 89 10:55:01 MET From: Victor Eijkhout Subject: Bug or feature? Keywords: bug, TeX As a three year user (and addict) of TeX, I am extremely reluctant to call something a bug, but can someone explain to me what is happening in the following example? For some reason the 'L' of 'Left' is attached to the '1fil'. This has been observed with TeX on Atari, Macintosh and Vax. I can't figure out why this is legal according to the rules in the last chapters of the TeX-book. \hbox to \hsize,A\hskip 0cm plus 1fil Left or Right \hskip 0cm plus 1fil B} greetings, Victor Eijkhout Department of Mathematics University of Nijmegen Toernooiveld 5 "Far out in the uncharted 6525 ED Nijmegen, the Netherlands backwaters of the unfash- ionable end of the 080-613169 western spiral arm of the galaxy" u641000@HNYKUN11.BITNET -------------------------------------------------------------------------- Date: Mon, 6 Mar 89 19:12 EDT From: Subject: Linear system macro? Keywords: macros I am looking for a macro for linear systems, e.g., \linearsystem{xyz}{ -1& &3 &5 \\ &2 &-5&6} expands to something like \halign{$\hfil#$&$\hfil{}#{}& % x's $\hfil#$&$\hfil{}#{}& % y's $\hfil#$& % z's ${}=#\hfil$ \cr % ='s -1x& & & +&3z&=5 \cr & & 2y& -&5z&=6 \cr} Is there such a beast? I'm new to macro writing and I'm having a tough time with it. Any helps or hints would be appreciated. Thanks. Jim Hefferon ----------------------------------------------------------------------- Date: Sun, 05 Mar 89 14:19:28 CET From: Fritz Zaucker Subject: Re: macros for automatic italic corrections Keywords: italics, TeX, LaTeX In TeXMag Vol 3, No. 1, article 9 Dan Bernstein gives some Macros for automatic italic corrections. I am a relatively new TeX-User, so perhaps my thoughts are quite stupid. But I am always wondering if I read something like : " ... an italic correction is always needed when switching from italic to roman type, except when the italic type is followed immediately by a roman period or comma ..." If the rules are as clear as this statement (I think I saw it also in the TeX-Book and the LaTeX-Book) implies, why do we all have to worry about it at all. I think, TeX should know in which font it is and could do the necessary correction by itself. Is there anything I didn't see? This should be even more true, if it is right, that an correction is indeed only made, if a font switch to roman actually occures and ignored otherwise (as I have it in mind from one of the two books above). Can anybody tell me the truth? Fritz Zaucker ------------------------------------------------------------------------ Date: Mon, 6 Mar 89 13:41:40 PST From: Peter Scott Subject: \topskip--problems with line- and page-breaking Keywords: \topskip, TeX Pardon a possibly dumb question, but TeX's line- and page-breaking algorithms have yet to make much sense to me. I used \raggedbottom in a long document (series of overheads, home-grown macros, not SliTeX) and found that vertical glue in some pages was still getting stretched, resulting in some items being widely separated; therefore I decided to increase the amount of vertical space that \raggedbottom allows (I've done the horizontal equivalent with \raggedright and \rightskip); I followed \raggedbottom with \topskip=10pt plus90pt. Now, this shouldn't have any effect on the page breaking, right? It should just increase the amount of vertical glue available to fill up the bottom of the page, surely. Wrong. It changed the page breaks and resulted in more pages. What am I missing? Peter Scott (pjs@grouch.jpl.nasa.gov) --------------------------------------------------------------------------- Date: Mon, 6 Mar 89 11:12 EST From: John Taylor Subject: Hopefully trivial (La)TeX Question Kewyords: page size, TeX, LaTeX Could someone tell me how to increase the size of the page that TeX (and LaTeX, which is what I'm using) prints on? It uses only 9.6 in. or so per page, and I'd prefer about 11 in. Also, what advantages does TeX have over LaTeX? (or vice-versa) Thanks in advance... *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* John Taylor -- SUNY at Buffalo | | Internet: v131q5cg@ubvmsc.cc.buffalo.edu "Two wrongs don't make a right, but | Bitnet: v131q5cg@ubvmsc two (W)rights make an airplane." | /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ ----------------------------------------------------------------------------- Date: Fri, 03 Mar 89 17:18:08 PST From: Alex Aiken Subject: Problem with LaTeX picture environment Keywords: LaTeX, picture environment I am having a problem with the LaTeX picture environment. Some characters (apparently those that normally hang below the base line, like "[") are treated differently in a picture environment depending on whether the picture is inside of a figure environment or not. Here is an example: \documentstyle[11pt]{article} \begin{document} \begin{figure}[t] % % the picture in a figure % \begin{picture}(100,10) \put(0,0){\makebox(0,0)[lb]{[}} \put(0,0){\line(1,0){50}} \end{picture} \end{figure} % % the picture out of a figure % \begin{picture}(100,6) \put(0,0){\makebox(0,0)[lb]{[}} \put(0,0){\line(1,0){50}} \end{picture} \end{document} The line is for reference. The "[" moves up a few points inside of the figure. I'd like to know why this happens, and how to avoid it for pictures inside of figures. I know a few odd facts from experimentation. Putting \protects in front of everything doesn't help; neither does enclosing the picture in a "boxing" command like \mbox or \vbox. Using the default reference point for the \makebox commands (centered horizontally and vertically) seems to work, but converting all of my pictures to this form is a large task. Alex Aiken ---------------------------------------------------------------------------- Date: Sat, 4 Mar 89 18:46:36 CST From: svb@cssun.tamu.edu (Stephan v. Bechtolsheim) Subject: Concerning nested conditionals Keywords: TeX, nested conditionals In TeX I can have nested conditionals like in \ifodd ... \ifnum ... ... \else ... \fi \else \if ... ... \else ... \fi \fi If in this example I replace \ifnum by a macro \IfMyConditional and \IfMyConditional evaluates to either \iftrue or \iffalse Then the above code would NOT work if \ifodd evaluates to false. Because in this case the closing \fi of \ifnum would be used as closing \fi of \ifodd. Is there a way to define a macro \IfMyConditional in such a way that TeX recognizes the macro as a conditional even if TeX skips the part of a conditional's text which is not expanded because the conditonal did not `avaluate the right way'? Do I miss something trivial here? Stephan Bechtolsheim ------------------------------------------------------------------------------ Date: Thu, 09 Mar 89 15:36:38 -0500 >From ken@cs.rochester.edu Subject: Re: METAFONT, 118dpi fonts - HELP ! Keywords: fonts, METAFONT Paul, here are a few shell scripts for Unix METAFONT that generate scripts to generate (what I consider) the full set of TeX and LaTeX fonts. It shouldn't be too hard to figure out what's going on. For 118 dpi just replace localfont by the mode_def for 118 dpi. #!/bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #!/bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # genfonts # genslitexfonts # listfonts # magpk # This archive created: Thu Mar 9 15:36:13 1989 # By: Ken Yap () export PATH; PATH=/bin:$PATH echo shar: extracting "'genfonts'" '(1927 characters)' if test -f 'genfonts' then echo shar: over-writing existing file "'genfonts'" fi cat << \SHAR_EOF > 'genfonts' #!/bin/sh # basic fonts in magsteps 0 through 5 and 0.5 for font in cmb10 cmbx10 cmbx5 cmbx7 cmcsc10 cmex10 cmmi10 cmmi5 cmmi7 \ cmr10 cmr5 cmr7 cmsl10 cmss10 cmssbx10 cmsy10 cmsy5 cmsy7 cmti10 cmtt10 do for magstep in 0 0.5 1 2 3 4 5 do res=`magpk $magstep` echo "cmmf '\mode=localfont;' '\mag=magstep$magstep;' '\batchmode;' input $font" echo gftopk $font.${res}gf echo rm $font.${res}gf done done # other fonts only in magsteps 0, 0.5 and 1 for font in cmbsy10 cmbx12 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10 cmbxti10 \ cmdunh10 cmff10 cmfi10 cmfib8 cmitt10 cmmi12 cmmi6 cmmi8 cmmi9 \ cmmib10 cmr12 cmr17 cmr6 cmr8 cmr9 cmsl12 cmsl8 cmsl9 cmsltt10 \ cmss12 cmss17 cmss8 cmss9 cmssdc10 cmssi10 cmssi12 cmssi17 \ cmssi8 cmssi9 cmssq8 cmssqi8 cmsy6 cmsy8 cmsy9 cmtcsc10 cmtex10 \ cmtex8 cmtex9 cmti12 cmti7 cmti8 cmti9 cmtt12 cmtt8 cmtt9 cmu10 \ cmvtt10 do for magstep in 0 0.5 1 do res=`magpk $magstep` echo "cmmf '\mode=localfont;' '\mag=magstep$magstep;' '\batchmode;' input $font" echo gftopk $font.${res}gf echo rm $font.${res}gf done done # specials for magstep in 0 0.5 1 do res=`magpk $magstep` echo "cmmf '\mode=localfont;' '\mag=magstep$magstep;' '\batchmode;' input logo10" echo gftopk logo10.${res}gf echo rm logo10.${res}gf done echo "cmmf '\mode=localfont;' '\mag=magstep0;' '\batchmode;' input cminch" echo gftopk cminch.300gf echo rm cminch.300gf # LaTeX fonts for font in circle10 circlew10 lasy10 lasy5 lasy7 lasyb10 line10 linew10 do for magstep in 0 0.5 1 2 3 4 5 do res=`magpk $magstep` echo "cmmf '\mode=localfont;' '\mag=magstep$magstep;' '\batchmode;' input $font" echo gftopk $font.${res}gf echo rm $font.${res}gf done done for font in lasy6 lasy8 lasy9 do for magstep in 0 0.5 1 do res=`magpk $magstep` echo "cmmf '\mode=localfont;' '\mag=magstep$magstep;' '\batchmode;' input $font" echo gftopk $font.${res}gf echo rm $font.${res}gf done done SHAR_EOF if test 1927 -ne "`wc -c 'genfonts'`" then echo shar: error transmitting "'genfonts'" '(should have been 1927 characters)' fi chmod +x 'genfonts' echo shar: extracting "'genslitexfonts'" '(775 characters)' if test -f 'genslitexfonts' then echo shar: over-writing existing file "'genslitexfonts'" fi cat << \SHAR_EOF > 'genslitexfonts' #!/bin/sh # cmex10 in magstep 3 for font in cmex10 icmex10 do res=`magpk 3` echo "cmmf '\mode=localfont;' '\mag=magstep3;' '\batchmode;' input $fon t" echo gftopk $font.${res}gf echo rm $font.${res}gf done # all fonts in magsteps 3 through 8 for font in cmmi8 cmsy8 cmtt8 icmmi8 icmsy8 icmtt8 ilasy8 ilcmss8 ilcmssb8 \ ilcmssi8 lasy8 lcmss8 lcmssb8 lcmssi8 do for magstep in 3 4 5 6 7 8 do res=`magpk $magstep` echo "cmmf '\mode=localfont;' '\mag=magstep$magstep;' '\batchmode;' input $font" echo gftopk $font.${res}gf echo rm $font.${res}gf done done # lcmss8 in magstep 9 for font in ilcmss8 lcmss8 do res=`magpk 9` echo "cmmf '\mode=localfont;' '\mag=magstep9;' '\batchmode;' input $font" echo gftopk $font.${res}gf echo rm $font.${res}gf done SHAR_EOF if test 775 -ne "`wc -c 'genslitexfonts'`" then echo shar: error transmitting "'genslitexfonts'" '(should have been 775 characters)' fi chmod +x 'genslitexfonts' echo shar: extracting "'listfonts'" '(505 characters)' if test -f 'listfonts' then echo shar: over-writing existing file "'listfonts'" fi cat << \SHAR_EOF > 'listfonts' #!/bin/sh fontdir=/usr/lib/tex/fonts trap 'rm /tmp/$$.sed /tmp/$$.awk' 0 1 2 3 15 cat > /tmp/$$.sed < /tmp/$$.awk <<'EOS' $1 == prev { printf "\t%s", $2 } $1 != prev { printf "\n%-10s\t%s", $1, $2; prev = $1} END { printf "\n" } EOS cd $fontdir; ls cm*pk circle*pk lasy*pk line*pk logo*pk manual*pk \ | sed -f /tmp/$$.sed \ | sort \ | awk -f /tmp/$$.awk SHAR_EOF if test 505 -ne "`wc -c 'listfonts'`" then echo shar: error transmitting "'listfonts'" '(should have been 505 characters)' fi chmod +x 'listfonts' echo shar: extracting "'magpk'" '(223 characters)' if test -f 'magpk' then echo shar: over-writing existing file "'magpk'" fi cat << \SHAR_EOF > 'magpk' #!/bin/sh case $1 in 0.5) echo 329 ;; 0) echo 300 ;; 1) echo 360 ;; 2) echo 432 ;; 3) echo 518 ;; 4) echo 622 ;; 5) echo 746 ;; 6) echo 896 ;; 7) echo 1075 ;; 8) echo 1290 ;; 9) echo 1548 ;; *) echo 000 ;; esac SHAR_EOF if test 223 -ne "`wc -c 'magpk'`" then echo shar: error transmitting "'magpk'" '(should have been 223 characters)' fi chmod +x 'magpk' # End of shell archive exit 0 X-Uucp: ..!rochester!ken Internet: ken@cs.rochester.edu X-Snail: CS Dept., U of Roch., NY 14627. Voice: Ken! X-Phone: (716) 275-1448 (office) ------------------------------------------------------------------------------- Date: Fri, 3 Mar 89 18:42:58 EST From: Charlie Martin Subject: About the existence of a font repository... Keywords: fonts Does anyone maintain a font repository, so that fonts which have been generated can be FTP-ed? %%% Moderator's note: Even though there are not nearly so many %%% printengines as there are printers, there are still too many %%% to make this a really practical idea. The obvious problem is that %%% the use of a write-black font on a write-white machine is bound %%% to be unsatisfactory. But one cannot count on the rasterization for %%% one write-black engine being entirely satisfactory even for a different %%% write-black engine, and the differences tend to be more serious yet %%% in the case of write-white engines. The effort of making up a %%% properly tuned font set for your own site is usually well worth it. ------------------------------------------------------------------------------ Date: Sat, 4 Mar 89 19:54:11 EST From: gpg@arbortext.com Subject: \fontdimen's Keywords: Computer Modern, fonts I was noticing seeming non-linearities of \fontdimen's in Computer Modern's symbol font. These parameters are ones affecting vertical positioning of superscripts. I haven't looked into any others. I wondered if anyone knew why the values are what they are: fontdimen13: \fontdimen13\fivsy=2.51778pt %- - - - - - - - - - - - - - - - - - - - \fontdimen13\sixsy=3.0178pt %- - - - - - - - - - - - - - - - - - - - - - - - \fontdimen13\sevsy=3.51779pt %- - - - - - - - - - - - - - - - - - - - - - - - - - - - \fontdimen13\eigsy=3.32333pt %- - - - - - - - - - - - - - - - - - - - - - - - - - - \fontdimen13\ninsy=4.32329pt %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \fontdimen13\tensy=4.12892pt %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fontdimen14: \fontdimen14\fivsy=2.01776pt %- - - - - - - - - - - - - - - - \fontdimen14\sixsy=2.5178pt %- - - - - - - - - - - - - - - - - - - - \fontdimen14\sevsy=3.01779pt %- - - - - - - - - - - - - - - - - - - - - - - - \fontdimen14\eigsy=2.82333pt %- - - - - - - - - - - - - - - - - - - - - - - \fontdimen14\ninsy=3.82329pt %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \fontdimen14\tensy=3.62892pt %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - fontdimen15: \fontdimen15\fivsy=1.47223pt %- - - - - - - - - - - - \fontdimen15\sixsy=1.72221pt %- - - - - - - - - - - - - - \fontdimen15\sevsy=1.99998pt %- - - - - - - - - - - - - - - - \fontdimen15\eigsy=2.27777pt %- - - - - - - - - - - - - - - - - - \fontdimen15\ninsy=2.58333pt %- - - - - - - - - - - - - - - - - - - - - \fontdimen15\tensy=2.88889pt %- - - - - - - - - - - - - - - - - - - - - - - fontdimen18: \fontdimen18\fivsy=2.47223pt %- - - - - - - - - - - - - - - - - - - - \fontdimen18\sixsy=2.4722pt %- - - - - - - - - - - - - - - - - - - - \fontdimen18\sevsy=2.4722pt %- - - - - - - - - - - - - - - - - - - - \fontdimen18\eigsy=3.16667pt %- - - - - - - - - - - - - - - - - - - - - - - - - \fontdimen18\ninsy=3.1667pt %- - - - - - - - - - - - - - - - - - - - - - - - - \fontdimen18\tensy=3.86108pt %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % The following is how I generated the above table. (It prints the table to % the terminal and log file, nothing is typeset.) \font\fivsy=cmsy5 \font\sixsy=cmsy6 \font\sevsy=cmsy7 \font\eigsy=cmsy8 \font\ninsy=cmsy9 \font\tensy=cmsy10 \def\showfontdimen#1#2{% \immediate\write16{\string\fontdimen#1\string#2=\the\fontdimen#1#2} \count255=\fontdimen#1#2 \divide\count255 by 8000 \loop\message{-}\advance\count255 by -1 \ifnum\count255>0 \repeat } \def\plotfontdimen#1{ \immediate\write16{} \immediate\write16{fontdimen#1:} \showfontdimen{#1}{\fivsy} \showfontdimen{#1}{\sixsy} \showfontdimen{#1}{\sevsy} \showfontdimen{#1}{\eigsy} \showfontdimen{#1}{\ninsy} \showfontdimen{#1}{\tensy} } \plotfontdimen{13} \plotfontdimen{14} \plotfontdimen{15} \plotfontdimen{18} \bye ------------------------------------------------------------------------------ Date: Mon, 6 Mar 89 09:39:01 EST From: dph@astro.psu.edu (David P. Huenemoerder) Subject: Dvipage and fonts on sun 386i Keywords: dvipage, fonts, SUN 386i Regarding the strange display produced by dvipage on a Sun 386i --- thanks to all who responded to say that it is not a byte swap problem with the fonts. The problem is with byte swapping within dvipage when it samples the fonts from a resolution of 300 down to the screen resolution. If dvipage is started in monochrome mode (-m option), no sampling is done and the display is fine, though somewhat large. The 386i does have a function to flip pixrects (pr_flip()). Do any dvi guru's know when and where to pr_flip() in dvipage? The man page claims to be version 4.0 from February 1988. This version uses both pxl and gf fonts, but not pk. David Huenemoerder ---------------------------------------------------------------------------- Date: Sun, 5 Mar 89 10:26:45 PST From: lamport@src.dec.com (Leslie Lamport) Subject: Re: Postscript Fonts in LaTeX Keywords: PostScript, fonts, LaTeX In a message to me, John R. Pearce writes I am fairly new to LaTeX and would like to use some postscript fonts in place of the Computer Modern (either for just text or text and maths). Could you tell me if anyone has reworked lfonts.tex to allow the use of postscript fonts. A typesetting program must know the "metrics" of the fonts it uses--e.g., how wide each character is. TeX obtains this information from tfm files, which are produced by Metafont. PostScript fonts have their own metric files. The dvi2ps program written by Stephen Bechtelsheim of Purdue, comes with programs that produce tfm files for PostScript fonts. I presume other dvi -> PostScript converters can also provide tfm files for PostScript fonts. However, the font metrics of PostScript fonts do not contain enough information for mathematical typesetting; nor is are there a PostScript font corresponding to the TeX mathe extension font, which is used to produce such things as big braces and radical signs. Therefore, although one can use PostScript fonts with TeX, math symbols must come from the CMR font family. Adobe is producing a set of PostScript math fonts for TeX. They are now being beta tested, and should become available in the not too distant future. When they are released, I plan to create a version of LaTeX for PostScript that uses them. Leslie Lamport ----------------------------------------------------------------------------- From: TeXhax-request@cs.washington.edu Subject: TeX Users Group Membership Information request form. The form request below (after the burst line) is provided for your convenience. Alternatively, you can send a request to KLB@Seed.AMS.COM, containing the same information about yourself and your site. TeX Users Group Institutional/individual Membership Information request form ------------------------------------------------------------------------------ To: The TeX Users Group P. O. Box 9506 Providence, Rhode Island 02940-9506, U.S.A. Telephone: (401) 751-7760 Please send me information concerning [institutional individual] Membership in (cross out whichever is not applicable) The TeX Users Group. Name:___________________________________________________________ Institution:____________________________________________________ Street Address:_________________________________________________ Box or MS address:______________________________________________ City and State/Province:________________________________________ Zip or Mail code:_______________________________________________ Country:________________________________________________________ If you would also like your name to be forwarded to the TUG site-coordinator who distributes TeX for your operating system, fill in the following line. Machine and Operating System:___________________________________ ------------------------------------------------------------------------------ %%% The TeXhax digest is brought to you as a service of the TeX Users Group %%% in cooperation with the UnixTeX distribution service at the %%% University of Washington %%% %%% Concerning subscriptions, address changes, unsubscribing: %%% BITNET: send a one-line mail message to LISTSERV@UWAVM %%% SUBSCRIBE TEXHAX % to subscribe %%% or UNSUBSCRIBE TEXHAX %%% %%% All others: send a similar one line mail message to %%% TeXhax-request@cs.washington.edu %%% Please be sure you send a valid internet address!! %%% in the form name@domain or name%routing@domain %%% and use the style of the Bitnet one-line message, so that %%% we can find your subscription request easily. %%% %%% All submissions to: TeXhax@cs.washington.edu %%% %%% Back issues available for FTPing as: %%% machine: directory: filename: %%% JUNE.CS.WASHINGTON.EDU TeXhax/TeXhaxyy.nn %%% yy = last two digits of current year %%% nn = issue number %%% %%% For further information about TeX Users Group services and publications %%% contact Karen at KLB@SEED.AMS.COM or write to TUG at %%% TeX Users Group %%% P.O. Box 9506 %%% Providence, R.I. 02940-9506 %%% Telephone (401) 751-7760 %%% %%% Current versions of the software now in general distribution: %%% TeX 2.95 metafont 1.7 %%% plain.tex 2.94 plain.mf 1.7 %%% LaTeX 2.09 ( 8/10/88) cmbase.mf see cm85.bug %%% SliTeX 2.09 gftodvi 1.7 %%% tangle 2.9 gftopk 1.4 %%% weave 2.9 gftype 2.2 %%% dvitype 2.9 pktype 2.2 %%% pltotf 2.3 pktogf 1.0 %%% tftopl 2.5 mft 0.3 %%% BibTeX 0.99c dvipage 3.0 %%% AmSTeX 1.1d %%%\bye %%% End of TeXhax Digest ************************** -------