1 TeX ! (ahs) 11-Jul-84 General Cleanup ! TeX is a typesetting system intended for the creation of beautiful books and papers, especially ones that contain a lot of mathematics. This help file describes some of the general features of the VAX/VMS implementation of TeX, including local additions and deviations from the standard version of TeX as described in "The TeXbook". It also describes the TeX output formatter: QTeX, which creates output files suitable for printing on the Laser Printer. The keyword AMSTeX con- tains information on how to use the American Mathematical Society's macro package. 2 Intro TeX is a true typesetting system designed to give authors complete control of the formatting of their documents from the first rough draft to the final typeset copy. The TeX manuscript file contains instructions which tell the computer exactly how the manuscript is to be transformed into pages on the output device. TeX is really a two pass system: In the first pass, TeX processes the manuscript file and produces a device independent typeset file (or "DVI" file for short). In the second pass the output formatter processes the DVI file to produce the output pages for a particular kind of device. Many kinds of output formatters exist for devices ranging from inexpensive dot-matrix printers (suitable for rough draft copies) to photo-typesetters with resolutions of 1000 by 1000 pixels per square inch. We have an output formatter for the Laser- grafix 1200 printer; it is called "QTeX". QTeX processes TeX DVI files to produce "QMS" files containing all of the necessary com- mands for selecting fonts, positioning the characters on the page, drawing horizontal and vertical lines (called "rules" in TeX), and for all of the other things that TeX wants to do. The QMS file can be printed on the Lasergrafix 1200 using the standard VAX/VMS PRINT command or the special PTeX command we have defined. To use the system effectively, you must have available a copy of the handbook on TeX: "The TeXbook" by Donald E. Knuth, (TeX's creator). The help item "TeXbook" tells you where you can get a copy of it. A typical TeX run would look something like: $ TEX FOO <-- TeX processes FOO.TEX, outputs FOO.DVI $ QTEX FOO <-- QTeX inputs FOO.DVI, outputs FOO.QMS $ PTEX FOO <-- Queues FOO.QMS to the Lasergrafix 1200 - or - $ AMSTEX FOO <-- TeX plus AMS macro package, processes FOO $ QTEX FOO <-- QTeX inputs FOO.DVI, outputs FOO.QMS $ PTEX FOO <-- Queues FOO.QMS to the Lasergrafix 1200 Enjoy! 2 TeX The present port of TeX to VAX/VMS was done by David Fuchs of at the Stanford University Computer Science Department TeX Project. It uses the VMS Pascal compiler available from Digital (version 2.1 or later). Please send any comments or suggestions for the VAX/VMS port to him, at the address below. Comments or suggestions regarding a particular installation should be sent to the local TeX Installer/Maintainer. As of the end of November, 1983, we are distributing TeX version 1.0. The system has been in use on many systems for quite some time, and 1.0 should be pretty much free of bugs. Everything should work exactly as described in "The TeXbook", by Donald Knuth (published by Addison Wesley, ISBN number is 0-201-13448-9). If you have an old manual ("TeX and Metafont, New Directions in Typesetting") you should put it away where you'll never see it, since there are literally hundreds of differences from the old TeX78 system that it describes. There were also various pre-prints of the TeXbook, and they should be tossed out, too. Prof. Knuth offers a reward for the first person to find any existing bug in TeX, and likewise for any errors in the TeXbook. Please address any such matters to The TeX Project; see TeX_Maintainer item. All corrections will be reported in the TeX Users' Group newsletter, called TUGboat. Lots of other TeX-related news appears in TUGboat, so you really ought to get in touch with the TeX Users Group, c/o American Mathematical Society, P.O. Box 6248, Providence, RI 02940 (phone 401-272-9500) for membership information. TUG also runs occasional user group meetings, which are announced in TUGboat. 3 TeXbook ! Keep this help item as a subtopic of TeX - or else VMS HELP ! finds more than one TeX... main level topic and forgets where it was ! when it found the subtopics. "The TeXbook", by Donald E. Knuth. Published jointly by the American Mathematical Society and Addison-Wesley; 1984, 483 pp., spiral bound, LC 83-830; ISBN-0-201-13448-9. A copy may usually be found in our computer reference library. Please do not remove it as it is for quick reference only. Additional copies are available from the following sources: Talaris Systems, Inc. 7840 Herschel Ave. P. O. Box 8309 La Jolla, CA 92038 Telephone 619-454-3363 Price $16.00 (Order from here if you are a commercial or institutional site and have trouble with pre-payment orders - it's faster than having the order delayed by the inevitable bureaucratic mix-ups.) American Mathematical Society P. O. Box 1571 Annex Station Prividence, RI 02901 Telephone 401-272-9500 Price $15.00 (Payment MUST accompany order) Must Specify "TEXBKT" when ordering. Addison-Wesley Publishing Company Reading, Massachusetts 3 Operation To run TeX, a user should simply say "TeX" to Vax/VMS. TeX will introduce itself with a single line telling which version it is, and then prompt the user with a double asterisk. Just as the TeXbook describes, it is waiting for a file name or a \controlsequence. If the user replies "foo", TeX will look on the default directory for a file named FOO.TEX, and will procede to read it in, showing the full file name on the user's screen. If there is no such file, TeX will look for TEX$INPUTS:FOO.TEX instead. TeX does the same thing when an a file contains an \input command: first it looks on the current default directory, and then on TEX$INPUTS. Typically, the system will have pre-defined TEX$INPUTS to be a standard TeX library directory, containing such files as WEBMAC.TEX (for use with Weave output) and other standard macro files. Note that you can over-ride the default extension ".TEX" by explicitly giving another (possibly null) extension: "\input foo.bar" or "\input baz." will make TeX look for "FOO.BAR" or "BAZ." in your default directory, and then in TEX$INPUTS if it couldn't find anything there. TeX checks the command line that it was invoked with, and treats the part after "TEX" as input. Thus, saying "TEX FOO" to VMS's prompt will produce the same results as if you had invoked TeX and said "FOO" to its double asterisk prompt (except that you won't get the double asterisk prompt), and TeX will proceed to read in FOO.TEX. In fact, you can even say something like "TEX \let\iffoo=\iftrue \input bar" to VMS, and TeX will act as if you typed the whole line (except for the "TEX" part) directly to it. 3 Ctrl_C If you want to stop TeX, it is best to just type a Control-C. This interrupts TeX, and causes it to print a message telling you what input it was reading, just as it does when it encounters an error. You'll have an opportunity to either exit gracefully from TeX, or have it continue from where it left off, just like when TeX finds a real error. See the TeXbook for details on interrupts and error handling. 3 Ctrl_O The user should be aware of a few special features of TeX on Vax/VMS. For instance, if you should type a Control-O while TeX is producing some verbose terminal output, you don't have to worry that you might miss something important, because TeX will over-ride your Control-O before it prints out an error message that it intends to stop after. 3 Ctrl_Y Control-Y will stop TeX dead in its tracks, just as with most programs, but you'll notice that any files it was in the middle of creating will not be in your directory. If you want to stop TeX, best to just type a Control-C. This interrupts TeX, and causes it to print a message telling you what input it was reading, just as it does when it encounters an error. You'll have an opportunity to either exit gracefully from TeX, or have it continue from where it left off, just like when TeX finds a real error. See the TeXbook for details on interrupts and error handling. 3 Output There are two main output files generated by TeX, the DVI file and the LIS file. If the main TeX input file is [ANY]FOO.TEX, then the output files will be FOO.DVI and FOO.LIS on the default directory. TeX's output files all go on the default directory, unless they can't be opened (probably due to a protection failure) in which case TeX will tell the user that it can't open the file, and it will ask for an alternate file name. The user's reply to an "I can't open..." message may contain an explicit directory or logical name. There is one little catch: if you invoke TeX without giving an input file name, and you don't do an \input in the first line, TeX will get to the point where it has to open up the LIS file, but it won't know what to name it. In this case, TeX chooses the standard name TEXPUT for the job, and opens TEXPUT.LIS (and TEXPUT.DVI, when necessary). Even if you should subsequently tell TeX to \input a file, the output files will still be named TEXPUT. (Note: The LIS file is what is called a transcript or log file in some documentation. It has a different extension on VMS to avoid conflicts with batch job LOG files.) If TeX can't find a file it thinks you want to input, and it asks you to give it another file name, but in reality you don't want TeX to read in a file at all, you can specify the file name NULL (or NUL or NL), which is actually an empty file TEX$INPUTS. Tricky! 3 LIS_file The LIS file is a transcript of the entire run of TeX. It shows the entire terminal session; what TeX said to the user, and what the user replied. Additionally, it may contain more detailed error messages and tracing information than the user got at the terminal. See the TeXbook for details. The transcript file is a standard text file, that you can print out or even edit. In fact, the idea is that during a single TeX run, TeX may catch a number of errors, and the user may intervene to help TeX recover and continue processing to look for more errors. The user need not make note of the errors, because when the job is complete, the user can simply edit the LIS file and the TeX file together, reviewing the errors noted in the LIS, and correcting them in the TeX file. Don't Control-Y out of TeX if you want to be able to look at your LIS file; either let TeX finish normally, or say "x" to one of its error prompts. 3 DVI_file The DVI file contains the actual typeset output from TeX. It is not intended to be looked at directly, but rather to be passed on to output device driver programs. See the DVItype program in the TeXware Manual for details on DVI files. Vax/VMS TeX hackers should note that a DVI file is intended to be read as a stream of 8-bit bytes, but because VMS doesn't deal efficiently (or even correctly!) with single byte records, TeX and friends read and write DVI files in 512-byte blocks. These blocks are read into a Pascal "packed array [0..511] of 0..255" and the first byte is considered to be the one with zero subscript. In fact, this is how TFM files are stored, too. See the TFtoPL and PLtoTF programs in TeXware for information on TFM file format. 3 Fonts Most users shouldn't have to issue \font commands, since they will be using macro packages that already have all the fonts set up, but for those who do, it is important to know that TeX will look on TEX$FONTS for the appropriate TFM file, unless the user explicitly specifies a directory name in their \font directive. For instance, if you say "\font\foo=amr10" then TeX will look for the file "TEX$FONTS:AMR10.TFM" while "\font\bar=[me]zonk" and "\font\z=me:x" will cause TeX to look for "[ME]ZONK.TFM" and "ME:X.TFM". 3 \batchmode TeX will often talk with the user via the terminal, unless the \batchmode switch is on (see the TeXbook). Should you run TeX from a batch stream, you should probably turn on \batchmode, since I'm not sure what will happen if TeX issues a prompt to the non-existent terminal. (On VAX/VMS it can issue the prompt, but fails to get any input-since the next line of the batch stream usually contains a "$", which signals the start of a new VMS Command.) An example of starting up TeX in \batchmode might be: $ TEX \batchmode \input FOO You might also want to use \batchmode when running TeX from a command procedure or as a SPAWNed process. 3 TeX_hackers The remainder of this document contains information for real TeX hackers. You should be aware that there are two TeXs: one called INITEX and one TEX. INITEX is able to load font data, hyphenation data, and macro packages, and then spit out its entire internal state into a FMT file, when it is given the \dump command. TEX is able to read in a FMT file, which makes its internal state the same as INITEX's was when it \dumped. Of course, TEX can load font data and macro packages, and hyphenation exceptions, but it can't read in hyphenations patterns. The neat thing is that TEX reads in TEX$FORMATS:PLAIN.FMT by default, so that most users get a TeX that has the PLAIN macros built-in. Wizards can over-ride this by using an ampersand as the first character that TeX sees, so "TEX &FOO BAR" tells TeX to read in FOO.FMT and then \input BAR.TEX without pre-loading PLAIN. In this case, TeX first looks on the default directory, and then on TEX$FORMATS for the FMT file if one is explictly specified. The &FOO can also be given to TeX's "**" prompt. On VMS, FMT files are blocked up for efficiency in reading them in. There should be a way to Control-Y after saying "VIRTEX &PLAIN" and saving the resulting core image as TEX.EXE (and the TEX mentioned in the preceeding paragraph would be renamed VIRTEX), but VMS makes this quite hard to do, and I haven't worked up my courage yet (any want to volunteer?). 3 WEB The whole TeX package is written in a macro language called WEB. See "The WEB System of Structured Documentation" manual for details. The two macro processors, Tangle and Weave, have also been ported to Vax/VMS. The only real system-dependencies have to do with how they determine the names of input and output files. If you just say TANGLE (or WEAVE) to VMS, you'll be prompted for file names. You must supply explicit extensions. If you say "TANGLE FOO" then Tangle will look for FOO.WEB and FOO.CH as input files, and it will write FOO.PAS and FOO.POO as output. If the string pool is empty, no FOO.POO will be generated. If you Control-Y out, no output files will be in your directory. Note that of all the programs from Stanford, only TeX.WEB produces a string pool when it's TANGLEd. This pool file should be put on TEX$FORMATS, since that is where INITEX looks for it (the pool information gets dumped in the FMT file, so VIRTEX need not read in the pool file). (Actually, TANGELing INITEX also makes a pool file, but it should exactly match the TEX.POOL file). Since not everyone has the Pascal compiler, and hence the Pascal runtimes, the EXE files that are distributed were linked with the /NOSYSSHR option. If your installation does have the Pascal compiler, you'll probably want to re-link without that option. This will save disk space, memory space (when multiple users are running), and probably even CPU time. The COM files in the [.sources] directory show how everything is compiled, so you can just change the link step and rerun them. 3 Distribution_tape The TeX Vax/VMS distribution tape is in standard BACKUP format. It was prepared with the following commands: INIT MFA0: TeXTAP MOUNT MFA0:/FOREIGN BACKUP [DRF.TEX...] MFA0:TEXTAP The tape includes all source programs as well as object code. You need not keep the [.SOURCES], [.TEST] and [.AMSTEX] directories online. Most of the stuff in [.DOC] can go, though you might want to keep READ.ME, ERRATA.TEX and VMS.DOC around. 3 Installation Here are the definitions that were used during the initial development of TeX on VMS. You'll probably want to put similar definitions in the magic place that makes them available to all users (after changing the directory names to ones more appropriate for your system of course). Note that all of the EXE files are put on the TEX$: logical device. [These are the definitions in force here at SUNY Stony Brook.] $ define tex$ sys$suny:[tex82] $ define tex$formats sys$suny:[tex82.formats] $ define tex$fonts sys$suny:[tex82.fonts] $ define tex$inputs sys$suny:[tex82.inputs] $ define tex$sources sys$suny:[tex82.sources] $ define tex$logos sys$suny:[tex82.logos] $ define tex$qms sys$suny:[tex82.qms] $ ! $ tangle :== $tex$:tangle $ weave :== $tex$:weave $ tftopl :== $tex$:tftopl $ pltotf :== $tex$:pltotf $ dvityp*e :== $tex$:dvitype $ poolty*pe :== $tex$:pooltype $ initex :== $tex$:initex.exe $ tex :== $tex$:tex.exe $ qtex :== $tex$:qtex.exe $ ptex :== 'print'/nofeed/default=qms/notify 3 TeX_Maintainer David Fuchs December 1983 Stanford University Computer Science Dept. Stanford, CA 94305 Phone 415-497-1646 3 Local_Manager Al Scholldorf (by SUNY Vax MAIL at HARDSUP or SCHOLLDORF) Physics Dept. State University at Stony Brook Stony Brook, NY 11794 Phone 516-246-7110 2 QTeX QTeX is the name of the formatter for TeX output files. QTeX processes TeX device independent output files (.DVI files) and produces output files suitable for the QMS Lasergrafix 1200. 3 Operation QTeX may be invoked by saying QTEX to the VAX/VMS $ prompt. It will prompt first for the name of the TeX DVI file, then for the name of the QMS Lasergrafix 1200 output file. It will then announce itself and ask for the starting page number, the number of pages to output, and the page orientation. It then processes the DVI file, reporting page numbers as it goes. QTeX finally outputs a list of the fonts required to print the QMS file. Example: $ QTEX DVI file: test.dvi QMS file: test.qms This is Talaris QTeX, VAX/VMS Version 1.6b Starting Page Number (default=*): Maximum Number of Pages (default=1000000): Page Orientation [Landscape/Portrait] (default=P): ' TeX output 1984.07.04:1200' [1] [2] [3] [4] Fonts Required: amr10 amsl10 amex10 amsy10 amsy7 $ QTeX can also scan the file name from the command line which invoked it. Thus $ QTEX TEST calls up QTeX to process the file TEST.DVI as input and output TEST.QMS. If it can't get the page parameters from the input stream (for example, if it were called from a command procedure), it will take the defaults indicated in the example above. 3 TFM_files QTeX expects the TeX Font Metric files (.TFM files) to be in the logical device "TEX$FONTS:". Average users of TeX/QTeX usually need not concern themselves with the location of TeX Font Metric files; the installer/maintainer of TeX arranged the logical device "TEX$FONTS:" so that all TeX information files are common to and accessable by all users of TeX/QTeX. 3 FTB_file In order to know where the TeX fonts are loaded in the Lasergrafix 1200, QTeX needs to read a TeX Font Table file. The FTB file is an ascii text file which associates a font name with a Lasergrafix font index number, one font per line. QTeX looks at the FTB file assigned to logical name "TEXFTB". For example the lines AMR10,10 AMB10,11 in an FTB file would indicate that TeX font AMR10 is loaded in the Lasergrafix 1200 as font #10 and AMB10 is loaded as font #11. The FTB font table needs to be set up for this program to run. Again the TeX/QTeX system manager has set up the FTB file with all of the fonts which are maintained in the Lasergrafix 1200, so most users of TeX will not have to worry about FTB files. 3 FONT_files The Lasergrafix font files provided by Talaris are ASCII files in the standard down line load format type 2 (see the Lasergrafix 1200 programming manual for details. The file extensions indicate the orientation of the font: .FXP for portrait and .FXL for land- scape. TeX font file names follow the standard TeX naming conven- tion for 6 character file names. For example AMR10.FXP is the portrait mode font for (almost) computer modern roman 10 point. The fonts are identified and accessed by a font index number in the range 0 to 32767. At the front of the font file, after the copyright notice, there is a character string in the form: ^DFxxxxxonnnnyyyT, where xxxxx is the font number, o is L for landscape, P for portrait, nnnn is the name of the font and yyy is the glyph height. For example this line in AMR10 could be: ^DF00010PAR10024T, The font number here is 10 and the font name is "AR10". The font number here must match the number in the FTB file. The FXP/FXL files are text files so they may be changed with your friendly neighbourhood editor. 3 Installation The executable image of QTeX is provided by Talaris and must simply be located in the directory where all of the TeX EXE files are kept. The TeX/QTeX system manager needs to make the following assignments: $ define tex$ sys$suny:[tex82] $ define tex$formats sys$suny:[tex82.formats] $ define tex$fonts sys$suny:[tex82.fonts] $ define tex$inputs sys$suny:[tex82.inputs] $ define tex$sources sys$suny:[tex82.sources] $ define tex$logos sys$suny:[tex82.logos] $ define tex$qms sys$suny:[tex82.qms] $ ! $ assign tex$fonts:tex.ftb texftb $ ! $ tangle :== $tex$:tangle $ weave :== $tex$:weave $ tftopl :== $tex$:tftopl $ pltotf :== $tex$:pltotf $ dvityp*e :== $tex$:dvitype $ poolty*pe :== $tex$:pooltype $ initex :== $tex$:initex.exe $ tex :== $tex$:tex.exe $ qtex :== $tex$:qtex.exe $ ptex :== 'print'/nofeed/default=qms/notify The logical names are defined at system boot time in the system logical name table. The symbols for tangle, etc. are given to each user as he/she logs in to the machine by the SYSLOGIN.COM command procedure. 2 PTeX PTeX is simply a logical symbol defined to call up the standard PRINT.COM command procedure to queue the output file of QTeX to the Lasergrafix printer. It supplies all the necessary switches and defaults to print the file using the default paper tray. Use the /TRAY= switch to use the other tray. For example: $ PTEX FOO <-- Queues FOO.QMS for printing. $ PTEX /TRAY=LOWER FOO <-- Uses the lower tray. The symbol PTeX is defined by a command of the form: $ PTEX = 'PRINT' /NOTIFY/NOFEED/DEFAULT=QMS /NOTIFY Informs you when the file has finished printing. /NOFEED Keeps the spooler from inserting formfeeds. /DEFAULT=QMS Says to look for a file with the extension .QMS if no extension is supplied as part of the filename. The SYSLOGIN.COM procedure does this for you at login time. 2 AMSTeX AMSTeX is a macro package from the American Mathematical Society. It provides several macros which simplify the typesetting of papers and reports which contain theorems, numbered equations, etc., in a style called AMS Preprint Style. The VMS command "AMSTEX" runs TeX and automatically loads the AMS macro package (along with all of the standard macros of PLAIN TeX). Using AMSTeX in this way is faster than calling up plain TeX and loading the AMS macro package yourself because it loads the special format file TEX$FORMATS:AMSTEX.FMT at high speed. AMSTEX.FMT incor- porates some local changes; these are documented in another help item. There is a manual on AMSTeX which can be obtained by saying: $ PRINT TEX$QMS:AMSMAN.QMS 3 Operation Your TeX input file should look like: \input amstex \documentstyle{amsppt} \topmatter ... \endtopmatter \document ... \enddocument The text of the document goes between \document and \enddocument. You may use all of the control sequences defined by AMSTeX (and AMSPPT). You may also use all of the control sequences of plain TeX which have not been redefined by AMSTeX. Consult the keywords Topmatter and Document for more information on what goes between these control sequences. 3 Document Put the main text of your manuscript between \document and \endocument. AMSTeX has most of the macros of plain TeX plus many of its own. Here we will briefly describe some of the most useful AMSTeX additions and try to document some of the differences from plain TeX. 4 \heading \heading ... \endheading Provides centered, possibly multiline section headings. Use \\ to indicate linebreaks, as usual. 4 \subheading \subheading{ ... } Provides a boldface flush-left headings. Note that a period is supplied automatically at the end so don't put one in the argument. This can't be multi-line so the syntax is different from \heading. 4 \footnote \footnote{ ... } Inserts a footnotemarker immediately and the text of the footnote at the bottom of the page. In AMSPPT style, footnote markers are superscript numbers and start from one on each page. On rare occasions, the footnote number will be off; in this case use the control sequence \adjustfootnote{+/-n} to fix it. 3 Topmatter Between \topmatter and \endtopmatter you may have any, all or none of the following control sequences. The order is irrelevant. If you don't use any of them you might as well leave out \topmatter and \endtopmatter too. 4 \title \title ... \endtitle Indicates the title of the manuscript. May be made multiline by inserting \\ to indicate where lines breaks should occur. Acknowledgements and affiliations may be handled as footnotes to the title instead of using \thanks and \affil ... \endaffil. Just use \footnote{...} in between \title ... \endtitle. 4 \author \author ... \endauthor Indicates the author of the manuscript. May be made multiline by inserting \\ to indicate where lines breaks should occur. Acknowledgements and affiliations may be handled as footnotes to the author instead of using \thanks and \affil ... \endaffil. Just use \footnote{ ... } in between \author ... \endauthor. 4 \affil \affil ... \endaffil Indicates the affiliations. May be made multi-line by inserting \\ to indicate where lines breaks should occur. Acknowledgements and affiliations may be handled as footnotes to the \title and \author. 4 \address \address{ ... } Used for the address of the author. May be used more than once, for different authors, say. In the AMSPPT style, the addresses appear at the end, along with keywords and subjclass if specified. 4 \date \date{ ... } Used to enter the date the manuscript was written. 4 \thanks \thanks{ ... } Acknowledgements, etc. 4 \keywords \keywords{ ... } Used to enter the keywords. In the AMSPPT style, the keywords appear at the end of the manuscript, prefaced by "Keywords." 4 \subjclass \subjclass{ ... } In the AMSPPT style, \subjclass produces its output at the end of the paper, prefaced by "1980 Mathematics Subject Classifications." 4 \abstract \abstract{ ... } The abstract begins with "Abstract." so this shouldn't be typed in. 4 \german \german changes some of the AMSPPT labels to German. "Abstract." gets changed to "Zusammenfassung.", etc. 4 \nologo Use \nologo to keep AMSTeX from printing the "Typeset by AMSTeX" logo at the bottom of the first page. 3 Changes Here are the local changes to AMSTeX. All changes have been made in the form of "change files" to preserve the original files and to ease the burden of the installing a new AMSTeX package. The change files are available in TEX$INPUTS: for your reference. To use the AMSTeX macro package with local changes, either use the $ AMSTEX processor (which pre-loads AMSTeX) or define the following macro at the beginning of your input file: \def\getAMSmacros{ \input amstex % Get AMSTEX \input amstex.ch % with change file \documentstyle {amsppt} % Use AMSPPT style \input amsppt.ch % with changes } Then say \getAMSmacros to load the package and initialize it using the style file amsppt.sty. This is the way AMSTEX.FMT is defined. If you want to be really tricky you can say: \ifnum \count10 < 25 \getAMSmacros \fi You can then use either $ TEX or $ AMSTEX on your file and it will decide whether it needs to load the AMS macros or not. Note: the signal indicating that AMSTeX has not been loaded depends on the the number of \count registers currently in use. If you define some of your own registers (using \newcount) before loading AMSTeX you may have to adjust the number 25 above. ********** Changes to AMSTEX.TEX (AMSTEX.CH) ********** 1). Redefined the \ask@AmS macro so that it no longer asks the question "Do you want output?...". Instead, AMSTeX assumes that you always want output. ********** Changes to AMSPPT.STY (AMSPPT.CH) ********** 1). Changed some of the font assignments. The 10pt font set is changed so that the scriptscript font is 7pt instead of 5pt. The 5pt fonts were simply too small for most applications. The 8pt fonts that AMSTeX uses for things like footnotes, etc., were modified to use the 10pt fonts instead. 2). Also a new 12pt font set is added. The \twelvepoint font has a text size of 12pt, script size of 10pt and scriptscript size of 7pt. To use \twelvepoint (while retaining use of the \tenpoint font set) just say: \predefine\oldtenpoint{\tenpoint} \redefine\tenpoint{\twelvepoint} \tenpoint This fakes AMSTeX into using 12pt fonts for most of its typesetting chores while believing that it is still using the old 10pt fonts. You can use \tenpoint in sections of your text by saying \oldtenpoint. 3). Redefined one of the \footnote... macros so that error messages for mis-numbered footnotes are no longer output. These were annoying and did not really aid in proof-reading the manuscript. If the footnotes are numbered incorrectly use \adjustfootnote{1} or \adjustfootnote{-1}.