TeXhax Digest Friday, June 17, 1988 Volume 88 : Issue 57 Moderator: Malcolm Brown %%% Reminder: Please hold all TeXhax submissions until June 30, as %%% the moderator will be away until them. Today's Topics: \tt, \ptt, and \index Re: TeXhax Digest V88 #54 (LaTeX notes) Re: TeX headline Re: TeXhax Digest V88 #52 LaTeX bug Parbox in tabbing enviroments Threecolumn style? Two texhax shell scripts Directory pointers? \baselineskip command in \halign TeX under A/UX TeX in the big world Character codes of implicit characters space around operator in eqnarray (solution) Creating suitable TeX fonts for LN03 (Re: TeXhax 55) Beginners question: How to change the textwidth on the fly ---------------------------------------------------------------------- Date: Thu, 9 Jun 88 11:45 EST From: "Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU)" Subject: \tt, \ptt, and \index Bruce Langdon asks: How does @{\tt turn into @{\ptt in the following, and how does one prevent it? documentstyle[11pt,makeidx]{article} \makeindex \begin{document} % both of these generate \indexentry{number@{\ptt number}}{1} !!! \newcommand{\indextta}[1]{\index{#1@{\tt #1}}} \def\indexttb#1{\index{#1@{\tt #1}}} Attempt to make a macro that prints index entry in tt font, like verbatim. \indextta{one} \indexttb{two} What we want is the effect of \index{three@{\tt three}}. \end{document} \tt and many similar commands have underlying implemenation that are not robust (in LaTeX's technical sense). Since they are so widely used, it would be inconvenient to require that the user type \protect\tt in every moving argument. Hence, \tt is defined as \protect\ptt, where \ptt does the actual work. The whole reason the \protect mechanism exists is that writing things out to files - AUX files, TOC files, and so on - involves repeated expansion: Once when the stuff is written to the file, once after it is read back in. "Fra- gile" constructs are those that will not operate correctly under repeated expansion. Why does having \ptt, rather than \tt, in your index entry bother you? The effect should be pretty much the same - though it will fail if you then proceed to use the index entry as read back in in a moving environment. The only way I can think of to actually get \tt back from the index entry is to treat \tt as fragile: Use \protect\tt and one level of expansion will be supressed. -- Jerry ------------------------------ Date: Thu, 9 Jun 88 09:17:08 PDT From: lamport@decwrl.dec.com (Leslie Lamport) Subject: Re: TeXhax Digest V88 #54 (LaTeX notes) Bruce Langdon observes that \newcommand{\indextta}[1]{\index{#1@{\tt #1}}} \indextta{one} produces \indexentry{one@{\ptt one}}{1} on the .idx file instead of the desired \indexentry{one@{\ptt one}}{1} He asks why? and how can one get the desired result? The answer to the first question is long and uninteresting except to the most intrepid TeX hackers. The answer to the second question turns out to be, for rather mysterious reasons \newcommand{\indextta}[1]{\index{#1@{\string\tt\space #1}}} However, the \ptt command is essentially equivalent to \tt, (it is part of the mumbo-jumbo that makes \tt nonfragile) so there's probably no reason to bother fixing this "problem". Leslie Lamport ------------------------------ Date: Thu, 09 Jun 88 23:04:31 EDT From: Eric Skinner Subject: Re: TeX headline Daya Atapattu writes: >I am TeX-formatting a dictionary. The dictionary has two columns per page. >The headline I am trying to get looks like: > >| board boat | >| | >| : | > >when the first "main-word" in left column is "board" and the last in the >right column is "boat". > >I use the output routine in page 257 of The TeX book to get two columns. When >all the main-words are "\mark"ed, reference to \firstmark within \makeheadline >gives me the first word of the *right* column. I tried to grab the \firstmark >within the scope of the first column by \global\let but failed. > You were on the right track; you do have to make a (fairly simple) modification to the output routine listing on page 257, since the behavior you described is to be expected with the existing output routine. The following redefinitions of a few components of the output routine do the necessary magic: trapping the first mark from the first column and storing it for use when outputing the second column. \newbox\firstone \newdimen\fullhsize \fullhsize=6.5in \hsize=3.1in \def\fullline{\hbox to \fullhsize} \catcode`@=11 \def\makeheadline{\vbox to\z@{\vskip-22.5\p@ \fullline{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip} \def\makefootline{\baselineskip24\p@\fullline{\the\footline}} \catcode`@=12 \let\lr=L \newbox\leftcolumn \output={\if L\lr \global\setbox\leftcolumn=\columnbox \global\let\lr=R \global\setbox\firstone=\hbox{\bf\firstmark} \else \doubleformat \global\let\lr=L\fi \ifnum\outputpenalty>-20000 \else\dosupereject\fi} \def\doubleformat{\shipout\vbox{\makeheadline \fullline{\box\leftcolumn\hfil\columnbox} \makefootline} \advancepageno} \def\columnbox{\leftline{\pagebody}} (Put together real quick so may not be terribly elegant) Eric Skinner (ERIC@UOTTAWA.BITNET) Computing Centre, University of Ottawa ------------------------------ Date: Thu, 9 Jun 88 10:21:02 EDT From: Subject: Re: TeXhax Digest V88 #52 LaTeX bug You must put the \label in a figure after the \caption (or in its argument). See section 4.2 of the LaTeX book. Gordan Palameta uunet!mnetor!maccs!gordan ------------------------------ Date: 10-JUN-1988 12:57:48 GMT From: ABBOTTP%aston.ac.uk@NSS.Cs.Ucl.AC.UK Subject: Parbox in tabbing enviroments If a parbox is used in a tabbing environment the spacing is incorrect on the last line printed. Andrew Trevorrow has suggested the following solution. include \strut at the end of the parbox The spacing then becomes regular in line with the remainder of the tabbing environment. Can this modification be made to the relevant file in the LaTeX distribution. Peter Computing Service JANET abbottp@uk.ac.aston Aston University ARPA pabbott@nss.cs.ucl.ac.uk Aston Triangle or abbottp%uk.ac.aston@nss.cs.ucl.ac.uk Birmingham B4 7ET UUCP ...!ukc!aston!abbottp U.K. BITNET abbottp%uk.ac.aston@ac.uk Tel (+44) 21 359 5492 ------------------------------ Date: 10-JUN-1988 15:17:21 GMT -01:00 From: THOWARD%graphics.computer-science.manchester.ac.uk@NSS.Cs.Ucl.AC.UK Subject: Threecolumn style? For part of a magazine I'm working on (in LaTeX), I'd like to use a three column format. The multi-column format published in TUGboat vol 8 no 2 (July '87) used plain TeX. Has anyone tried it with LaTeX? Might there even be a threecolumn.sty lurking out there? Thank you Toby Toby Howard Computer Graphics Unit, Department of Computer Science, Manchester University, Oxford Road, Manchester, England, M13 9PL. Phone: +44 61 275 6224 Janet: toby@uk.ac.man.cs.cgu ARPA: toby%cgu.cs.man.ac.uk@nss.cs.ucl.ac.uk ------------------------------ Date: Fri, 10 Jun 88 11:23:32 EDT From: clayton@thumper.bellcore.com (R. Clayton) Subject: Two texhax shell scripts What follows is a shell script that produces a kwic index of the form tex: arbortext's * fixed (texhax054) tex/latex: * training (texhax054) texts: grammar-school math * (texhax053) training: tex/latex * (texhax054) undump: unix_tex * for tahoe system v (texhax054) unix: indexing the * way -- revisited (texhax053) unix: re: wanted: dvi re-ordering program for * (texhax053) from the "Subject:" fields in a set of texhax digests: #!/bin/ksh # # kwic - Make a kwic index for texhax issues. if [ $# -lt 1 ] then echo 2>&1 "command fomat is \"`basename $0` \"" exit 1 elif [ $# -lt 2 ] then echo 2>&1 "`basename $0` doesn't work with one file" exit 1 fi grep '^Subject' $* | sed 's/Subject: */ /' | tr 'A-Z' 'a-z' | \ awk 'BEGIN { skip["and"] = "t" ; skip["for"] = "t" skip["are"] = "t" ; skip["can"] = "t" skip["about"] = "t" ; skip["the"] = "t" skip["digest"] = "t" ; skip["there"] = "t" skip["texhax"] = "t" ; skip["with"] = "t" skip["for"] = "t" ; skip["which"] = "t" skip["where"] = "t" ; skip["immoderate"] = "t" skip["problem"] = "t" ; skip["question"] = "t" skip["was"] = "t" ; skip["wanted"] = "t" skip["from"] = "t" ; skip["get"] = "t" skip["how"] = "t" ; skip["notes"] = "t" skip["now"] = "t" ; skip["problems"] = "t" skip["using"] = "t" ; skip["problem"] = "t" skip["need"] = "t" ; skip["needed"] = "t" skip["very"] = "t" ; skip["available"] = "t" } {name = substr($1, 1, length($1) - 1) for (i = 2; i <= NF; i++) { key = $i # Find the left-most alpha-numeric character. for (f = 1; f < length(key); f++) { ch = substr(key, f, 1) if (("a" <= ch) && (ch <= "z")) break if (("0" <= ch) && (ch <= "9")) break if ("\\" == ch) break } # Find the right-most alpha-numeric character. for (l = length(key); f <= l; l--) { ch = substr(key, l, 1) if (("a" <= ch) && (ch <= "z")) break if (("0" <= ch) && (ch <= "9")) break } l = l + 1 k = substr(key, f, l - f) if ((length(k) > 2) && (skip[k] != "t")) { printf "%s(%s): ", k, name for (j = 2; j <= NF; j++) if (j != i) printf "%s ", $j else {printf "%s", substr(key, 1, f - 1) printf "*" printf "%s", substr(key, l, length(key) - l + 1) printf " " } print "(" name ")" } } }' | \ sed '/^[0-9][0-9]*[(:]/d /^#.*[(:]/d /^v[0-9][0-9]*[(:]/d ' |\ sort |\ sed 's/(texhax.*): /: /' One subtlety is that kwic works best when the texhax digests are in files named "", where is (in this case) "texhax" and is the issue number represented as a three-digit number zero-padded to the left (kwic uses the filename as a secondary sort key). What follows is a shell script which moves an arbitrarily named file in the working directory to a properly named file in some other directory. The file should contain a texhax digest. #!/bin/ksh # # mtexhax - move a texhax article to its directory. texhaxdir=/usr/local/src/lib/tex/docs/texhax if [ $# != 1 ] then echo 2>&1 the command format is \'`basename $0` file\' exit 1 fi if [ ! -r $1 ] then echo 2>&1 can\'t find $1 exit 1 fi issue=`grep '^TeXhax Digest.*Issue' $1 | \ sed 's/^TeXhax Digest.*Issue *//'` if [ "$issue" = "" ] then echo 2>&1 can\'t find the issue number in $1 exit 1 fi issue=`echo $issue | awk '{print sprintf("%03d", $0)}'` mv $1 $texhaxdir/texhax$issue These scripts have been used under the k-shell running on bsd unix. R. Clayton clayton@thumper.bellcore.com ------------------------------ Date: Fri, 10 Jun 1988 11:22:52.33 CST From: (George D. Greenwade) Subject: Directory pointers? Is there any way (preferably EASY) to change the directory pointers within a LaTeX document under Vax/VMS or is the logic of LaTeX inappropriate for such a change? For example, if a \documentstyle[option] resides in your current directory (say, [BED.GDG]) as OPTION.STY, then [BED.GDG]OPTION.STY is used for the LaTeX run; if it does not reside in the current directory, then the system default TEX$INPUTS:OPTION.STY is used. Is there any way to customize a run such that a user can establish their own specified subdirectory (say, [BED.GDG.STYLES]) such that the logic of LaTeX is changed to check, in sequence, the current directory, a user-specified default directory, then the system default directory? Alternatively, is it possible to simply point to a subdirectory somehow and NOT specify a user-defined first level default (i.e., \documentstyle[[bed.gdg.styles]option], much the same as the \bibliographystyle logic allows for BiBTeX, although the directory specification (unfortunately) counts as part of the 40 character limit in that environment)? This feature is (or would be) desirable since I use a number of \input files, as well as a number of .STY and .BST files in my personal work and in my capacity as Editor of the {\em Journal of Business Strategies} (which is another LaTeX-formatted Journal). Since I am the only one who uses these files, there is no need for them to be written to TEX$INPUTS:. However, since I use them in many subdirectories, I necessarily must either copy the wanted file to multiple subdirectories (which eats up disk space) or work in a subdirectory which really does not satisfy MY logic of where to store certain .TEX file (i.e., different subdirectories for teaching, Directing, Editing, departmental, college, university, research, ....). Any assistance along this line would be appreciated; hopefully, I have simply overlooked something simple somewhere. George George D. Greenwade, Director Bitnet: BED_GDG@SHSU Center for Business and Economic Research THEnet: SHSU::BED_GDG Sam Houston State University Internet: BED_GDG@SHSU.BITNET Huntsville, Texas USA 77341-2056 Voice: (409) 294-1518 ------------------------------ Date: Fri, 10 Jun 88 16:03:54 EDT From: Brian_Holmes%Wayne-MTS@um.cc.umich.edu Subject: \baselineskip command in \halign How can you expand the width of rows in \halign mode? I know about \strut but is there some way I can give a point size width of the row? \baselineskip appears not to work in \halign mode. Here is the source in question. Notice how the the HELLO's have a larger vertical space between them. How can I do this inside the \halign? --------------------------CUT----------------------------------- \baselineskip=20pt{ \halign to 6.5in{\vrule#\hfill\tabskip=1em plus4em&\vrule#\hfill& \vrule#\hfill&\vrule#\hfill&\vrule#\hfil& \vrule#\hfill&#\vrule\tabskip=0pt\cr \bf{NAME}&\bf{PHONE}&\bf{ADDRESS}&\bf{MTS ID}&\bf{CMS ID}& \bf{DELIVERY}\cr \noalign{\par\hrule} Adair, Joan&75636&113 IBM& &*ADAIR&F& \cr\noalign{\hrule} Adams, Larry&74776&282 MEZZ&LDA&*LADAMS&T& \cr\noalign{\hrule} Ader, Jim&70631&SCIL 59&UC29&*JADER&H& \cr\noalign{\hrule} } Hello\par Hello} \vfil\eject ---------------------------CUT--------------------------------- Brian Holmes Wayne State University BITNET : BHOLMES@WAYNEST1 INTERNET : Brian_Holmes%WU@UM.CC.UMICH.EDU ------------------------------ Subject: TeX under A/UX Date: Fri, 10 Jun 88 16:46:41 EDT From: ribbens@vtopus.cs.vt.edu Has anyone brought TeX up on the A/UX side of an Apple Macintosh II? Cal Ribbens Dept. of Computer Science Virginia Tech Blacksburg, VA (ribbens@vtopus.cs.vt.edu) ------------------------------ Date: Fri, 10 Jun 88 15:09 EDT From: (John Lavagnino) Subject: TeX in the big world An interesting reference to TeX from the world of commercial publishing: @Article{campbell88, author = "Peter Campbell", title = "New Looks, New Newspapers", journal = "London Review of Books", volume = 10, number = 11, month = jun, day = 2, year = 1988, pages = "7--8" } ``When Donald Knuth, author of a classic text on computer algorithms, found the American Mathematical Society's standards of typesetting were falling disastrously, he wrote TEX [sic], a computer typesetting program which allows complex mathematical setting to be generated by codes input by the author. It is now very commonly used by scientists, and has changed the look of much that is issued in the area where the concepts of circulation and publication overlap. Most of the typographic inventions we have inherited from the first half-millennium of printing can be imitated electronically'' (page 8). The author is one of the designers of the journal in which this appeared; his main topic is large-scale journalism, and he observes that, while electronic ``short-cuts'' have made it easier to produce cheap fluff, those who want to produce something more substantial ``have never had a better technological environment in which to do it.'' ------------------------------ Subject: Character codes of implicit characters Date: Sat, 11 Jun 88 11:07:40 -0400 From: Larry Denenberg Suppose the control sequence \xyzzy is an implicit character known to be a letter; that is, someone has said \let\xyzzy=a or maybe \let\xyzzy=Z or even \catcode`\^^U=11\let\xyzzy=^^U. How can I get the letter's character code? Solutions involving 128-way \ifx tests will be laughed at. Solutions based on \meaning\xyzzy are possible but very difficult. Isn't there a simple answer? /Larry Denenberg larry@bbn.com larry@harvard.harvard.edu ------------------------------ From: ZACCONE%BKNLVMS.BITNET@Forsythe.Stanford.EDU Date: Sat, 11 Jun 88 17:22 EDT Subject: space around operator in eqnarray (solution) In TeXhax volume 88 number 11, (2/5/88), Wai Hung Leung explained a problem with eqnarray. It puts too much space around a binary operator. I found a solution on netlib. The following file fixes the above problem with eqnarray, and a problem with \bigl, \bigr, etc. that I wasn't aware of. Shouldn't these changes been incorporated into LaTeX? (By the way, I didn't write these changes. I would gladly give credit to the author if I knew who it was.) Rick Zaccone zaccone@bknlvms.bitnet Note: if this message is too big to post, the file can be retrieved by sending the message "send latex from typesetting" to netlib@anl-mcs.arpa. ----------------------------------------------------------------------- % FIXUP DOCUMENT STYLE OPTION % for LaTeX version 2.09 % % (This should follow any previous document style options that might need % fixing.) % define \newmathfont %\input fontext.sty \hyphenation{non-zero} % Define the Metafont logo so that it tries to match the slant of the current % font and only loads fonts when needed. \def\logo{\global\font\logo=logo10 at1\@ptsize\p@ \logo} \def\logosl{\global\font\logosl=logosl10 at1\@ptsize\p@ \logosl} \def\MF{{\ifdim \fontdimen\@ne\font >\z@ \def\logo{\logosl}\fi {\logo META}\-{\logo FONT}}} \def\id#1{\def\arg@{#1}\futurelet\next\id@} \def\id@{\hbox{\it\arg@ \if\next.\else\if\next,\else\/\fi\fi}} \def\key#1{\def\arg@{#1}\futurelet\next\key@} \def\key@{\hbox{\bf\arg@ \if\next.\else\if\next,\else\/\fi\fi}} % Fix Plain's \bigl, \Bigl, etc. macros so that they try to scale with % LaTeX size changes. This uses the fact that \@setsize sets \dp\strutbox % to be 30% of the point size. \def\big#1{{\hbox{$\left#1\vcenter to1.428\ht\strutbox{}\right.\n@space$}}} \def\Big#1{{\hbox{$\left#1\vcenter to2.142\ht\strutbox{}\right.\n@space$}}} \def\bigg#1{{\hbox{$\left#1\vcenter to2.857\ht\strutbox{}\right.\n@space$}}} \def\Bigg#1{{\hbox{$\left#1\vcenter to3.571\ht\strutbox{}\right.\n@space$}}} % Fix \sbox and \mbox so that they do not take the box contents as a parameter. % This makes environments that depend on catcode changes work inside \def\sbox#1{\setbox#1\hbox} \def\mbox{\leavevmode\hbox} % Remove the redundant \hbox from \rule to save memory \def\@rule[#1]#2#3{\@tempdima#3\advance\@tempdima #1\vrule \@width#2 \@height\@tempdima \@depth-#1\relax} % We now redefine the eqnarray environment to correct the space around % the operator. Since the fleqn document style option also redefines % this environment, we carefully check the previous definition before % making any changes. Any changes to the definition in LaTeX itself % or in the fleqn document style option will cause the `Warning: unable...' % message to appear. If this happens it will be necessary to update the % definitions of \@tempa and \@tempb below and incorperate the changes into % the new definitions of \eqnarray. % This is the current definition of \eqnarray for the fleqn document style % option: \def\@tempa{\stepcounter{equation}\let\@currentlabel=\theequation \global\@eqnswtrue \global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr \abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi \belowdisplayskip\abovedisplayskip \belowdisplayshortskip\abovedisplayskip \abovedisplayshortskip\abovedisplayskip $$\halign to \linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@ {##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle{##}$\hfil \tabskip\@centering&\llap{##}\tabskip\z@\cr} % Here is the corresponding defintion from latex.tex: \def\@tempb{\stepcounter{equation}\let\@currentlabel=\theequation \global\@eqnswtrue \global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr $$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil \tabskip\@centering&\llap{##}\tabskip\z@\cr} \ifx\eqnarray\@tempa % If the fleqn document style option is in effect \def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation \global\@eqnswtrue \global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr \abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi \belowdisplayskip\abovedisplayskip \belowdisplayshortskip\abovedisplayskip \abovedisplayshortskip\abovedisplayskip $$\halign to \linewidth\bgroup\hfil $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil \tabskip\@centering&\llap{##}\tabskip\z@\cr} \else\ifx\eqnarray\@tempb % Else try the default eqnarray environment \def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation \global\@eqnswtrue \global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr $$\halign to \displaywidth\bgroup\hfil $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil \tabskip\@centering&\llap{##}\tabskip\z@\cr} \else \typeout{Warning: Unable to fix unknown version of \string\enarray.} \fi\fi \def\@tempa{} % Free up TeX's memory \def\@tempb{} %---------------------------------------------------------------------- ------------------------------ Date: 11 Jun 1988 23:52:17 EST From: dragon@NSCVAX.PRINCETON.EDU (Richard B. Gilbert) Subject: Creating suitable TeX fonts for LN03 (Re: TeXhax 55) This is in reply to KINOSHITA Yoshiki's request for a "mode_def" for the DEC LN03 laser printer. The following file is by John Sauter and was taken from the DECUS Font tape. -------------------------------- Cut Here --------------------------------- % This file can be loaded after PLAIN.MF. % It adds the LNOthree device and redefines ``bye'' to augment % the TFM header. % LNOthree mode: for the DEC LN03 printer (Ricoh LP) mode_def LNOthree = proofing:=0; % no, we're not making proofs fontmaking:=1; % yes, we are making a font tracingtitles:=0; % no, don't show titles in the log pixels_per_inch:=300; % pixels per inch blacker:=0.65; % blacker pens %blacker:=0.3; % makes CMR5 "a" look better fillin:=-0.1; % compensate for light diagonals o_correction:=.5; % overshoot enddef; localfont:=LNOthree; % Place the font coding scheme and font identifier in bytes 9-48 and % 49-68, respectively. Also, place an encoding of the design size in % byte 72 in some cases. Although TeX does not use this information, % TFTOPL does. This code is based on an example in Appendix F of % The METAfont Book. def counted_string(expr s,n) = % string s becomes an n-byte counted string for l:=if length(s)>=n: n-1 else: length(s) fi: l for k:=1 upto l: , substring (k-1,k) of s endfor for k:=l+2 upto n: , 0 endfor endfor enddef; inner end; def bye = if fontmaking>0: headerbyte 9: counted_string(font_coding_scheme_,40); special "codingscheme " & font_coding_scheme_; headerbyte 49: counted_string(font_identifier_,20); special "identifier " & font_identifier_; headerbyte 72: max(0, 254 - round 2designsize); fi end enddef; outer bye,end; base_version:=base_version&"/sauter LN03/augmented TFM header"; ------------------------------ Cut Here--------------------------------- I hope this answers the question. Richard B. Gilbert dragon@nscvax.princeton.edu ------------------------------ Date: "Ralph Becker Szendy" 11-JUN 88 18:08:00 GMT From: UHHEPG::RALPH <"UHHEPG::RALPH"@uhhepg.phys.hawaii.edu> Subject: Beginners question: How to change the textwidth on the fly Hi Thanks for all the answers to my last question, including Dr. Lamports. This, again, is a simple question; so LL should not read it EXCEPT IF ALL OTHER WIZARDS HAVE GIVEN UP ON IT. I am sorry to post such an easy question, but the next LaTeX wizard is 2500 miles west, and the people at Talaris (who sold us TeX) shouldn't even be allowed to sell pencils. How do I change \textwidth dynamically within a (long) document? Reason: I have some chapters (for example the "Executive Summary") with a lot of marginal notes, so I increased \marginparwidth and decreased \textwidth by 80 points each; most other chapters have no marginal notes, but a lot of figures, so the margin shouldn't be wasted (both to save paper, and because a two-inch margin looks ugly). Unfortunately, \textwidth can only be changed in the preamble; that means: changing either \textwidth or \columnwidth within the document just doesn't have any effect. The LaTeX book explicitly states that \textwidth should not be changed in the text. So, how do I do it ? What parameter do I have to change to make the text narrower on the fly ?? I promise to do the change only at page breaks (using \clearpage before the change). My favourite solution would be something like a "narrow with marginnotes" pagestyle, so I could use a \pagestyle{narrow} command. I tried defining a \ps@narrow with the the \addtolength commands for \textwidth and \marginparwidth in it, but that doesn't have any effect, as explained above. Any help appreciated. Ralph Becker-Szendy RALPH@UHHEPG.PHYS.HAWAII.EDU University of Hawaii / High Energy Physics Group RALPH@UHHEPG.BITNET Watanabe Hall #203, 2505 Correa Road, Honolulu, HI 96822 (808)948-7391 "Hawaii - it's not just for tourists. People actually live and work there." ------------------------------ %%% %%% Concerning subscriptions, address changes, unsubscribing: %%% BITNET: send a one-line mail message to LISTSERV@TAMVM1.BITNET: %%% SUBSCRIBE TEX-L % to subscribe %%% %%% All others: send mail to %%% texhax-request@score.stanford.edu %%% please send a valid arpanet address!! %%% %%% %%% All submissions to: texhax@score.stanford.edu %%% %%% Back issues available for FTPing as: %%% machine: directory: filename: %%% [SCORE.STANFORD.EDU]TEXHAXnn.yy %%% nn = issue number %%% yy = last two digits of current year %%%\bye %%% ------------------------------ End of TeXhax Digest ************************** -------