%&latex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% This is the file mathkit.tex, part of the MathKit package %% (version 0.7, January , 1998) for math font %% generation. (Author: Alan Hoenig, ajhjj@cunyvm.cuny.edu) %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% THIS IS A STANDARD LATEX + NFSS DOCUMENT FILE. \documentclass{article} \newcommand{\MathKit}{\textit{MathKit}}\let\mk=\MathKit \font\logofont=logo10 \newcommand{\mf}{{\logofont META}\-{\logofont FONT}} \def\fil|#1|{\texttt{#1}} \def\ext|#1|{\texttt{.#1}} \def\angles#1{$\langle${\normalfont\textit{#1}}$\rangle$} \title{Hundreds of New Math Fonts with MathKit (version 0.7)} \author{Alan Hoenig} \date{May 5, 1997} \begin{document} \maketitle \mk{} is an attempt to deal with typesetting mathematics using fonts {\em other\/} than Computer Modern. Till now, authors have had few alternatives: \begin{itemize} \item They can use CM math together with a text font family like Times Roman, but the result is not professional. \item They can use proprietary math fonts, such as MathTime or Lucida New Math, but that requires spending money. \item They can use the Euler math fonts, but these letterforms are a bit too idiosyncratic for some, and it is not well-known how to properly implement them anyhow. \end{itemize} \mk{} aids in the creation of math fonts which are compatible with a text font family---that is, \mk{} can help you typeset a Baskerville math document where the equations really look Baskerville-ish. Depending on your choice of parameters, you also get {\bf bold} math fonts. \mk{} consists of a Perl script and some auxiliary files to help an author---even one ignorant of virtual fonts or of \mf---to perform these tasks. (In case you have MathTime, Lucida New Math, Euler, or Mathematica math fonts, you might wish to check out the author's {\it MathInst\/} tools for installing these fonts. This material is available from the {\tt fonts/utilities/mathinst} section of {\sc ctan}.) The current version fixes some bugs from the previous version. I am grateful to several excellent and vigilant bug-catchers, including David Ness, Dave Rebnord, Petr Sojka, Jose Iovino, and Richard Townsend. \section{What it does} \mk{} takes \mf{} parameters that are appropriate to an outline font family and uses these to create new math fonts with \mf. The symbols and other special characters in these new fonts look pretty good---and are compatible with your outline fonts---but the italics and numerals look ghastly. Fortunately, that's not a problem. Using virtual fonts, we manufacture math fonts that combine the new special symbols (done by \mf{} that look pretty good) with letters and numerals from the outline fonts while we throw away all the ghastly stuff. \mk{} does this work for you; it provides scripts for the remaining steps (all this is described below). It also provides style files for plain \TeX{} and for the NFSS of \LaTeX{} for you to use these fonts in your documents. {\em You don't need to know anything about \mf{} or virtual fonts to use \mk{} and the resulting fonts.} This version of \mk{} comes with three sets of font templates. Since Palatino and Times Roman are so common, I prepared templates for these fonts. For fun, I prepared a template for Monotype Baskerville. Times comes in regular and bold series, and Baskerville in regular and semibold; Palatino is regular only. However, I have had excellent luck matching one of the templates with a non-related text family. The Baskerville-like template matches Monotype Janson and Adobe Caslon very nicely, for example. Consequently, it's possible to generate not three new math font families, but {\it hundreds\/} of them, as the title to this document proclaims. \section{What you get as final output} \mk{} itself produces lots and lots of scripts and batch files. Once these are properly executed (see below for the exact procedure) you get the following: \begin{enumerate} \item Virtual fonts for math and text typesetting. You will also get fonts for bold math if you have supplied a template containing bold parameters. \item Style files for plain \TeX{} and \LaTeX{} (NFSS). These files support bold math if bold parameter templates were present. \end{enumerate} \section{What you'll need} \subsection{\TeX{} and MetaFont} You'll need current versions of \TeX{} and \mf, first off. They must be sufficiently recent to support virtual fonts. \subsection{\texttt{fontinst}} You'll need a version~1.5 of \texttt{fontinst}, available from any {\sc ctan} archive or mirror. To install this software, retrieve {\it all\/} files from the \begin{verbatim} fonts/utilities/fontinst/inputs \end{verbatim} area. If you have a traditional \TeX\ system, place these files with the other files that \TeX\ reads in a directory like `{\tt tex/inputs}'. In a {\sc tds} system, place them in \begin{verbatim} texmf/tex/generic/fontinst \end{verbatim} \subsection{pdcfsel} If you use plain \TeX, you'll need Damian Cudgley's \texttt{pdcfsel} font selection macros. These can be found in the \texttt{macros/plain/contrib/pdcmac} section of \textsc{ctan}. From this directory, fetch the files \fil|pdccode.tex| and \fil|pdcfsel.dtx| and place both files in a \TeX{} work directory. Then, issue a command like \begin{verbatim} tex pdcfsel.dtx \end{verbatim} In a moment, you'll get two new files---\fil|pdcfsel.dvi|, from which you can typeset documentation for this package, and \fil|pdcfsel.tex|, which you should place in a directory that \TeX{} can read from, a place like `{\tt tex/inputs}' in a traditional \TeX\ system, or a place like \begin{verbatim} texmf/tex/plain/pdcfsel \end{verbatim} in a {\sc tds} system. \subsection{Perl5} You'll need version~5 of Perl, a freely-available utility for all computer platforms and easily obtained from many computer archives and {\sc cd-rom} software collections. Perl needs installation as well. This is simply a matter of placing the Perl executable somewhere on your computer's search path. \subsection{\texttt{fontname}} Your text fonts need to have been installed using Karl Berry's fontnaming conventions. Furthermore, these fonts must have been installed following the original \TeX\ encoding, often denoted {\tt OT1} or {\tt ot1}. Some ways to perform this installation are {\tt psnfss} or {\tt VFinst} (see the \begin{verbatim} fonts/utilities/vfinst/ \end{verbatim} area of {\sc ctan}). \subsection{Other utilities} You'll need to insure you have working copies of the \TeX ware utilities \texttt{tftopl} and \texttt{vptovf} which should already be part of your \TeX{} installation. Make sure both these executables are in some part of your computer's search path. \section{Installation} Installation of \mk\ consists of three steps. \begin{enumerate} \item Prepare a directory, called something like \texttt{mathkit} perhaps, to hold all the \mk{} files. Place all the \mk{} files here. \item Prepare a work directory below this. Switch to this directory to do all your work. (The \mk{} package consists of this file \fil|mathkit.tex|, a file \fil|readme|, the main Perl script \fil|mathkit|, some files \fil|greekoff.mtx| and \fil|alphoff.mtx| used by \texttt{fontinst}, some template files \fil|ztex.mk|, \fil|zsty.mk|, \fil|makevp.mk|, \fil|tm.mkr|, \fil|tm.mkb|, \fil|pl.mk|, \fil|bv.mkr|, and \fil|bv.mks|, plus some miscellaneous other stuff.) (These instructions assume that your implementation of \TeX{} knows to search the parent directory to the current directory to look for files it may need to read. If this is not the case---and you'll know when you execute the `{\tt tex}' step, as \TeX\ won't be able to find files in the {\tt mathkit} directory---you'll need either to adjust \TeX's search path or to place copies of all the \mk{} files in the work directory.) \item Finally, there are a few parameters that need {\em careful\/} adjustment at the beginning of the file \fil|mathkit.par|. \mk{} needs to know some system things---where are the \ext|tfm|'s kept for this text font family, where are \mf{} input files kept, what is the \mf{} mode you require (that is, what printer will you be preparing fonts for?), and are you running under Unix or DOS? This file is self-documenting, so consult it for details. Briefly, it needs seven categories of information: \begin{enumerate} \item Is this a {\sc tds} installation? If so, what are the suppliers, typefaces, and installers for your fonts? \item Where are the \mf{} source files found? \item For {\it non}-{\sc tds} systems only, where are \TeX's special file types ({\tt.tfm}, {\tt.vf}, etc.) found? \item What's the name of of the \mf{} executable? What is the \mf{} mode? How are \mf{} output files named? Where do these files belong? This requires additional discussion---see below. \item Is this Unix or {\sc dos}? If you are using yet a different operating system, you'll need to create a subroutine named for this other system and modelled after the routines you'll find at about line~46 in the file \fil|mathkit|. \item Should \mk{} try to match \mf{} parameters to your text fonts? The answer should almost assuredly be `no'. See below for additional discussion. \item What is the sans serif font you'll be using with your fonts? We will also need the directory names for its supplier and typeface, in case your system is a {\sc tds} system. \end{enumerate} \end{enumerate} \subsection{Mode and other Metafont information} Most of the time, the \mf{} executable is called `{\tt mf}'; in such cases, set the variable \texttt{\$mf} in the file {\tt mathkit.par} to the value \texttt{"mf"}. On some systems, it may have other names, such as \texttt{virmf}. Adjust the value of \texttt{\$mf} accordingly. The \mf{} mode refers to a group of parameters especially adjusted to match your computer's printer. Modes are named with strings that suggest their corresponding printer---for example, {\tt imagen}, {\tt hplaser}, and so on. If you don't know which \mf{} mode corresponds to your printer, you'll have to inspect (with an editor) the file \fil|local.mf| or some file like that that appears in your \mf{} inputs directory. Probably the most important of the mode parameters is one called \verb+pixels_per_inch+ which ensures that \mf's bitmaps match your printer's resolution. At the very least, you'll need to choose a mode whose value of \verb+pixels_per_inch+ matches your printer's resolution. The name of the mode is the string following the command \verb+mode_def+ which appears a few lines above. In case, no mode is useful, you'll have to create your own mode. Duplicate one of the modes in \fil|local.mf|, and just change the name of the mode and the value of \verb+pixels_per_inch+. Then, you'll have to re-install \mf{} using {\tt inimf}. You'll also need to supply your printer's resolution. In \mk, this is called {\tt\$dpi} in the file \fil|mathkit.par|. It corresponds to the \mf{} variable \verb+pixels_per_inch+. \subsection{Matching (additional information)} All but super-power-users should keep the parameter \begin{verbatim} $I_should_try_to_match \end{verbatim} commented out at all times. Otherwise, it is easy to generate successively different copies of \mf{} source files, all with the same name. Consequently, the most recent creation obliterates its predecessors and will make it well-nigh impossible to regenerate early versions of your new pixel fonts. For those with intestinal fortitude of the first rank, here's an explanation. Although only three font templates currently accompany \mk, it is possible to use a template with another text font family. I have had good results, for example, using the {\tt bv} Baskerville-like template with both Monotype Janson and Adobe Caslon fonts. Of course, the $x$-height, cap-height, and so on of the Janson or Caslon fonts won't math the corresponding parameters for the Baskerville fonts. However, if the parameter \begin{verbatim} $I_should_try_to_match \end{verbatim} is set to a non-zero, non-null value, then \mk{} will use all the template parameters together with the $x$-height, etc.\ of the text fonts. This may ensure even closer compatibility between the math and text fonts. In case it doesn't, you can always re-generate the math fonts with this parameter turned off. Although it probably sounds like a good idea to keep this parameter switched on, it leads to a proliferation of \mf\ files that are slightly different but have the same filenames (see above; any readers with suggestions for dealing with impasse should please get in touch with me). \subsection{Special fonts} \mk{} also makes it possible to typeset with some special font types, including blackboard bold, calligraphic, fraktur, typewriter mono-spaced, and sans serif, and will provide typesetting commands for these fonts provided they exist. Except for sans serif, though, you have relatively little choice in which kinds of fonts to install. Here's what \mk{} expects: \begin{itemize} \item \mk{} uses the calligraphic alphabet in the Computer Modern symbol fonts. \item The typewriter font must be installed under the name {\tt cmtt10}, and you will need an outline form of this font. \item You'll need the {\tt eufm10} Euler Fraktur font in outline form for Fraktur typesetting. \item You'll need the \mf{} source for Alan Jeffrey's blackboard bold fonts for blackboard bold typesetting. \item You have much greater freedom for sans serif fonts, as discussed above. \end{itemize} These fonts and font sources are all available on \textsc{ctan}. In non-\textsc{tds}, installation means placing the {\tt.afm} files in a directory like {\tt/psfonts/afm} and the outline files in a place like {\tt /psfonts}. \mf{} sources belong somewhere named like {\tt /mf/inputs}. In a \textsc{tds} system, locations are more carefully defined. Computer Modern--math symbols and typewriter---belongs in a place like $$\hbox{\tt\angles{texmf}/fonts/\angles{type1-or-afm}/public/cm}$$ The Euler Fraktur fonts belong in $$\hbox{\tt\angles{texmf}/fonts/\angles{type1-or-afm}/ams/euler}$$ Finally, the blackboard bold source fonts belong in $$\hbox{\tt\angles{texmf}/fonts/source/public/bbold}$$ \section{Executing the software} The main \mk{} script requires three parameters at the command line. These are: \begin{enumerate} \item The name of the parameter template. `{\tt tm}' refers to Times-like parameters, `{\tt pl}' to Palatino-like, and `{\tt bv}' to Baskerville-like. \item The name under which text fonts are installed. This is apt to be something like \texttt{ptm} or \texttt{mnt} for Adobe Times or Monotype Times New Roman, \texttt{ppl} for Palatino, and \texttt{mbv} for Monotype Baskerville (which is {\em quite\/} different from ITC New Baskerville). As mentioned above, though, you are welcome to any properly installed text font family as well. Simply specify its {\tt fontname} abbreviation at the command line. \item The encoding your fonts follow. Only \texttt{OT1} (original \TeX{} encoding) or maybe \texttt{ot1} are currently allowed. Use {\tt ot1} if your system doesn't allow uppercase file names. \end{enumerate} For example, I type $$\hbox{\tt perl ../mathkit tm ptm OT1}$$ in my work directory to create Times-like fonts following the original \TeX{} encoding. (If your system supports the \verb1#!1 syntax for specifying the name of an interpreter, then adjust the proper path at the very top of the \fil|mathkit| script, make sure the execute bit is set, and type the simpler injunction \texttt{../mathkit tm ptm OT1} from the work directory.) To create my Janson/Baskerville fonts, I typed \begin{verbatim} ../mathkit bv mjn OT1 \end{verbatim} at the command line. Currently, you get bold math fonts {\em except} if you choose the Palatino-like {\tt pl} template. \section{Making the fonts} The following steps complete the font creation. Perform them all within the \mk{} work directory. \begin{enumerate} \item Execute the file \fil|makegf.bat| to have \mf{} create the pixel fonts for your fonts. This step will take some time. \item You'll need to pack all the pixel files. Inside Unix, you can do this via a series of commands like \begin{verbatim} foreach X (*.600gf) foreach? gftopk $X $X:r.600pk foreach? end \end{verbatim} Not all operating systems are so accommodating, so there is a file called \fil|makepk.bat| which may be helpful in this regard. {\bf Caution:} before executing this script, it will almost surely be necessary to edit it. \item Execute the script \fil|makepl.bat| to create some property list files needed by \TeX. \item Run the file \fil|makevp.tex| through \TeX. That is, execute the command \texttt{tex makevp} or something appropriate for your system. This step will take lots of time. Along with lots of superfluous files, this creates many `virtual property list' files with extension \ext|vpl|. \item Create the actual virtual files by running every \ext|vpl| file through the program \texttt{vptovf}. You can do this easily in Unix with commands like \begin{verbatim} foreach X (*.vpl) foreach? vptovf $X $X:r.vf $X:r.tfm foreach? end \end{verbatim} Even easier---execute the file \fil|makevf.bat| that \mk{} creates for you. \item Test your fonts by running the files \fil|testmath.tex| (for \LaTeX\ users) or \fil|testmatp.tex| (plain \TeX) through \TeX\ and then printing it. If adjustments are necessary, return to the `{\tt tex makevp}' step (step~4), and proceed from that point onward. Adjustments to your fonts will be discussed below. \item Only when you are completely satisfied with your new fonts should you execute the script {\tt putfonts.bat} to place font files and style files to their proper places. \end{enumerate} That leaves behind still files with extensions \ext|log|, \ext|mtx|, \ext|pl|, \ext|vpl|, \ext|bat|, \ext|300gf| (or something similar) and several other miscellaneous other files. You may safely delete all these. \subsection{Fine tuning and character adjustment} The only adjustment that should be necessary are spacing adjustments to improve the appearance of over-the-character accents, subscripts, and character placement. The two test files that enable you test this are \fil|testmath.tex| (for \LaTeX) and \fil|testmatp.tex| (plain). Run one of these files through \TeX, and examine the printed output carefully. \mk{} will have made two or more adjustment files for you that facilitate making changes to character spacing. These files are named following this mysterious convention: $$\hbox{\tt\angles{mock}\angles{text-fonts}\angles{weight}% \angles{r-or-i}\angles{w-or-x}.mtx}$$ Here, \angles{mock} should be replaced by the template type (currently {\tt bv}, {\tt tm}, or {\tt pl}); \angles{text-fonts} should be replaced by the three-character text font family designation; \angles{weight} will be {\tt r} or {\tt b} (regular or bold weight); \angles{r-or-i} will be {\tt r} or {\tt i} as the changes are to be applied to math roman or math italic fonts; and \angles{w-or-x} makes changes to (skew) over-character accents or to glyph widths and subscript placement. (In an earlier incarnation of this package, the metric adjustment files contained these and other ha\texttt{x} (hacks); hence the `x'. The `w' should suggest the ske\texttt{w} adjustments for accents. It's necessary to put this material in two distinct files so that the virtual font making mechanism reads the adjustment information at different points in its cycle.) For example, for my Janson-compatible ({\tt mjn}) math fonts using the {\tt bv} template, I use file \begin{verbatim} bvmjnriw.mtx \end{verbatim} to adjust the positioning of the skew-type overhead accents like the vector arrow and tilde for the math italic font, while I use \begin{verbatim} bvmjnbrx.mtx \end{verbatim} to make changes to glyph widths and to subscript placement for math roman fonts used in the math bold series. Even if you re-install math fonts, \mk{} takes care not to overwrite pre-existing adjustment files. Changes are mostly a trial-and-error affair. The first time you create a set of math fonts, \mk{} creates a set of adjustment files in which all the change commands are commented out. To make changes, enter the appropriate file and read what each file has to say about the \verb+\shiftglyph+ or \verb+\skewkern+ commands which are found there. Once you've made all your changes, re-run the steps from `{\tt tex makevp}' (step~4) to the point where you print a copy of the test file (step~6), and then make additional changes as needed. Of course, it's always possible to settle for fine-tuning your manuscripts, but it's better to spend the time tuning the fonts instead. It's nevertheless a good idea to get familiar with \TeX's \verb+\skew+ command (see page~136 of {\it The \TeX book}) which is helpful in this regard, as are the many math space commands. Font mongers note: you may be able to fine tune the characters themselves by adjusting the parameter values in the {\it template\/} files to other than what I've provided. Feel free! If you find a particularly fine bunch of values different from what I've provided, I'd be grateful if you passed them along to me. \subsection{Names of the new fonts} \mf{} will make many new fonts with names like the usual Computer Modern fonts, except the first two letters will be replaced by the abbreviation you specified in the \mk{} command. Thus, when making Times-like fonts, you'll be making new fonts {\tt tmr10}, {\tt tmbx10}, and so on for other varieties and sizes. There will be some bold variants of these if you've provided a bold parameter template. Palatino-like variants would be named {\tt plr10}, and so on, while Baskerville-like variants are {\tt bvr10}, etc. Some of these new bitmaps will be raw fonts for new virtual fonts that \mk{} creates. There will be lots of new virtual fonts for Math roman and italic (and perhaps in bold variants). These fonts have names beginning with the font family indicator (such as {\tt ptm} or {\tt mbv}), a weight indicator ({\tt r} or {\tt b} for regular or bold), a single letter referring to the bitmaps that have been incorporated (this will be the first of the two letter abbreviation for the bitmap family; that is, {\tt b}, {\tt t}, or {\tt p} for Baskerville, Times, or Palatino), an encoding digit (7 for {\tt OT1} or {\tt ot1} encoding), a further encoding symbol (either {\tt t} or {\tt m} for text or math italic), and a character for the font size (no digit for ten-point, a single digit for smaller design sizes, and a `c', hexadecimal digit representing `12', for the 12-point size). Thus, my Janson/Baskerville math italic fonts have names {\tt mjnrb7mc}, {\tt mjnrb7m}, {\tt mjnrb7m9}, {\tt mjnrb7m7}, and {\tt mjnrb7m5} for the fonts at 12\thinspace pt, 10\thinspace pt, 9\thinspace pt, 7\thinspace pt, and 5\thinspace pt. All font names are eight characters long or less. \section{Using your new fonts} \mk{} produces two style files, one for \LaTeX{} and one for plain. Their file names are formed according the naming scheme $$\hbox{\tt z\angles{mock-family}\angles{font-family}}$$ Here, \angles{mock-family} is the two-character designation for one of the font parameter templates (such as \texttt{tm}, \texttt{pl}, or \texttt{bv}); the word `mock' refers to the fact that these fonts imitate but don't equal the actual fonts in this family. \angles{font-family} is the Berry family desgnation. Thus, if I create a Times-like set of fonts for use with font family \texttt{ptm}, I would find files \fil|ztmptm.sty| (\LaTeX) and \fil|ztmptm.tex| (plain). In the same way, the style files for mock-Palatino and mock-Baskerville fonts are named \texttt{zplppl} and \texttt{zbvmbv} (with the appropriate extensions). Style files for my Baskerville/Janson math fonts have names beginning with {\tt zbvmjn}. \subsection{Plain \TeX{}} At the top of your file, include the statement \begin{verbatim} \input ztmmnt \end{verbatim} (or whatever the style file name is). Then, standard font nicknames like {\tt\string\it} and {\tt\string\bf} and math toggles {\tt\$} and {\tt\$\$} will refer to these new fonts. If bold fonts have been generated, a command \verb!\boldface! typesets everything in its way in boldface---prose, mathematics, whatever. Bold math may be appropriate for bold captions, sections heads, and the like. Like any other font changing command, this command should be placed within grouping symbols. \subsection{\protect\LaTeX{} and NFSS} You simply need to include the style name as part of the list of packages that you use in the document. Thus, a typical document would have a statement like \begin{verbatim} \usepackage{ztmptm,epsf,pstricks,...} \end{verbatim} at the outset. If \mk{} has created bold math fonts for you, a \texttt{boldface} environment will typeset everything in that environment as bold, including all mathematics. Occasionally, you will need to find tune a file or two by hand. If your outline fonts have been installed using expert fonts, you may need to alter the \verb+\rmdefault+ command. It might be necessary, say to type \begin{verbatim} \rmdefault{ptmx} \end{verbatim} instead of \verb!\rmdefault{ptm}!. In files named like \texttt{OT1\angles{whatever}.fd} it may be necessary to replace the \texttt{bx} series designation by \texttt{b}. Or it may be necessary to add entries at the bottom instructing NFSS to substitute fonts in the \texttt{bx} series with fonts in a {\tt b} or {\tt sb} (bold or semibold) series. \section{Math support for other font families} The parameters for the font families are contained in files with names like \fil|tm.mkr|, \fil|tm.mks|, or \fil|tm.mkb|. The extensions refer to `\mk{} regular', `\mk{} semibold', or `\mk{} bold' sets of parameters. The current \mk{} assumes that you will be creating at most one of the set of bold or semibold fonts but not both. It was surprisingly easy to prepare these parameter files. I prepared a test document in which individual characters are printed on a baseline at a size of 750\thinspace pt. It's (relatively) easy to measure the dimensions of such large characters, and \mf\ can be asked to divide by~75 to compute the proper dimension for ten point fonts. It was particularly easy for me to make these measurements, as I use Tom Rokicki's superior implementation of \TeX{} for NeXTStep. This package contains onscreen calipers which take all the work out of this chore. If you plan to create your own parameter files for other font families, please use the supplied files as models. Make sure all measurements are given in terms of sharped points `\texttt{pt\#}'; \mk{} looks for this string. And please consider placing this information in {\sc ctan}. \section{In conclusion...} For additional information, please see the book {\it \TeX\ Unbound: \LaTeX\ and \TeX\ Strategies for Fonts, Graphics, and More} (1998) by Alan Hoenig, published by Oxford University Press. This software is issued as is, subject to the usual Gnu copyleft agreement. If you have any questions, comments, or bug reports, please send them along to me. \begin{flushright} Alan Hoenig\\ Department of Mathematics,\\ John Jay College\\ 445 West 59 St.\\ New York, NY 10019\\ (516) 385-0736 or (212) 237-8858; \texttt{ajhjj@cunyvm.cuny.edu}\\[9pt] January 1998 \end{flushright} \end{document}