diff options
Diffstat (limited to 'Master/texmf-dist/doc/texsis/base/TXSfmts.doc')
-rw-r--r-- | Master/texmf-dist/doc/texsis/base/TXSfmts.doc | 604 |
1 files changed, 604 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/texsis/base/TXSfmts.doc b/Master/texmf-dist/doc/texsis/base/TXSfmts.doc new file mode 100644 index 00000000000..7923cea3982 --- /dev/null +++ b/Master/texmf-dist/doc/texsis/base/TXSfmts.doc @@ -0,0 +1,604 @@ +%% file: TXSfmts.doc - Formats and Style Files - TeXsis version 2.18 +%% @(#) $Id: TXSfmts.doc,v 18.3 2001/04/06 21:52:07 myers Exp $ +%======================================================================* +% (C) copyright 1994-2000 by Eric Myers and Frank E. Paige. +% This file is a part of TeXsis. Distribution and/or modifications +% are allowed under the terms of the LaTeX Project Public License (LPPL). +% See the file COPYING or ftp://ftp.texsis.org/texsis/LPPL +%======================================================================* +\ifx\undefined\bs \texsis\input TXSdocM.doc\input Manual.aux\fi + +\section{Style Files and Specialized Formats \label{sect.fmts}} + +Section~\use{sect.papers} described the basic layout of a \TeXsis\ +document and the |\paper|, |\preprint|, |\Manuscript| and |\book| macros +for typesetting simple documents. It is often necessary to modify the +details of the layouts for such documents, particularly when submitting +camera ready manuscripts for conference proceedings. Since \TeXsis\ is +built on plain \TeX, you can of course use the full power of \TeX\ to +format a document as you please. However, \TeXsis\ contains macros to +produce documents in several of the common formats used in the physics +community. These and other specialized formats are described in this +section. + +It would be very inefficient for \TeXsis\ to load the definitions of all +of the possible document styles listed below when at most only one of +them will be used. \TeXsis\ therefore puts these specialized +definitions in files known as ``style'' files (which generally have +filename extensions of ``|.txs|'') and only loads the particular style +file when it is needed. Besides saving space this also allows for quite +a bit of flexibility, because it is easy to modify style files or to +create new ones. For example, if the proceedings of a conference must +be typeset in a particular way (as is often the case) then the commands +to set-up a document in exactly the right way can be put in a style file +and e-mailed to all conference participants. Another use of specialized +style files is to define a \cs{thesis} format which conforms to the +rules and regulations of a particular university. + + +%=========================* +\subsection{Specialized Document Styles \label{sect.styles}} + +The following styles for various conference proceeding formats, +journals, and thesis formats are distributed with \TeXsis~\fmtversion. +Use these in place of |\paper| or |\preprint|. The name of the style +file from which the definitions are loaded is shown in brackets. +% +\description{XNorthHollandTwo\quad}\clump +% +\itm{\CS{AIPproceedings}} +Similar to |\paper|, but specialized to the American Institute of +\hbox{Physics} (AIP) format. [AIP.txs] +% +\itm{\CS{IEEEproceedings}} +An IEEE format using oversized double column paper. See \Sect{dcol}. +[IEEE.txs] +% +\itm{\CS{IEEEreduced}} +An IEEE format reduced to 75\% of full size and printed with 9~pt.\ +type for $8\frac{1}{2}\,{\rm in} \times 11\,{\rm in}$ paper. [IEEE.txs] +% +\itm{\CS{NorthHolland} } +Format for producing camera-ready copy for proceedings published by +North-Holland/Elsevier. This is a single column format with titles +and authors left justified and in eleven point type. [Elsevier.txs] +% +\itm{\CS{NorthHollandTwo}} +The North-Holland double column format for oversized paper. +[Elsevier.txs] +% +\itm{\CS{nuclproc}} +The ``NUCLPROC'' style for Nuclear Physics Proceedings. [nuclproc.txs] +% +\itm{\CS{WorldScientific}} +Similar to |\paper|, but specialized to the World Scientific +proceedings format. [WorldSci.txs] +% +\itm{\CS{PhysRev}} +Emulates the page layout and appearance of the {\sl Physical Review}. +[PhysRev.txs] +% +\itm{\CS{PhysRevManuscript}} +Similar to |\Manuscript| but customized for papers submitted to the +{\sl Physical Review}. [PhysRev.txs] +% +\itm{\CS{thesis}} +Similar to \cs{book}, but for printing a thesis. The default +|\thesis| format conforms to the requirements of the Yale +Graduate School, but it can (and probably should) be modified for +your own installation. [thesis.txs] +% +\enddescription +Other even more specialized styles are available, and some of them +can be found on the \TeXsis\ anonymous ftp server, in the directory +|/pub/texsis/styles|. + +\bigskip + +The IEEE and North Holland double column formats in the list above use +the double column macros described in Sect.~\use{sect.dcol}. For +example, \cs{NorthHollandTwo} sets up a document with an overall width +of 21.3~cm, a page length of 27.1~cm and a column width of 10.0~cm. +(Note that this is just about as wide or a little wider than most +small laser printers can print, so provisions have been made for +shifting the printed page horizontally to print one column at a time +if necessary.) A document printed with this format might have the +following basic structure: +\TeXexample +|smalltt\texsis +\NorthHollandTwo % set up double columns +\titlepage % but still single column mode + + |<title page material> + +\endtitlepage % ends the title material +\doublecolumns % now start double column mode + + |<text of paper> + +\enddoublecolumns % balance the final columns +\bye +|endTeXexample +\noindent +Saying \cs{NorthHollandTwo} only defines the double column layout; it +does not turn on double column mode. The title material is printed in +single column format across the full page width, then the main body is +printed in double column format once \cs{doublecolumns} appears. It is +important to say \cs{enddoublecolumns} at the end of the document to +balance the columns on the last page. Formatting text in balanced +double columns can be quite tricky, so you should read \Sect{dcol} +carefully before trying to use any of the double column macros. + +%==============================* +\subsubsection{Physical Review Formats} + +The \CS{PhysRevManuscript} style is similar to \cs{Manuscript} but is +customized to satisfy the requirements for manuscripts submitted to +the {\sl Physical Review}. It uses true double +spacing, and it places the tables and figure captions at the end of +the document. By simply switching from this to \cs{preprint} you should +be able to produce a version suitable for distribution as a preprint +from the same manuscript file. + +The \CS{PhysRev} and \CS{PhysRevLett} styles are not intended for +submission but rather emulate the page layouts in the {\sl Physical +Review} and {\sl Physical Review Letters} respectively. We have +attempted to reproduce accurately the double column layout, headlines, +footlines, reference style, etc., used in the actual journals. This +is still work in progress, but it may be useful both to see how a +paper would look in print and as an example for constructing other +styles. Setting up the headlines and page numbering requires calling +a few extra macros: +% +\example +|\texsis| \n +|\PhysRev| \n +|\TitleBanner{|\meta{Running Title Headline}|}| \n +|\AuthorBanner{|\meta{Running Author Headline}|}| \n +|\VolumeBanner{|\meta{series}|}{|\meta{vol}|}{|\meta{issue}% +|}{|\meta{page}|}| \n +|\titlepage| \n +... +\endexample +% +In |\VolumeBanner| the \meta{series} should be one of A, B, C, D, E, +for the {\sl Physical Review} or L for {\sl Physical Review Letters}; +the volume, issue, and starting page arguments are self-explanatory. +Both \CS{PhysRev} and \CS{PhysRevLett} typeset the document in double +columns, so to make full use of these layouts you will need to read +about the double column macros described in \Sect{dcol}. +In particular, you should be aware of the following: in both the +\CS{PhysRev} and \CS{PhysRevLett} styles, double column mode is begun +automatically at the end of the title material (\cs{endtitlepage}). +Since any double column material is inside a group, any definitions made +at that point will only be defined inside that group. If you want to +define macros for use in the rest of your paper, you should do so before +the title material (or use \cs{gdef}). + + +%=========================* +\subsubsection{Thesis or Dissertation Format} + +The style file {\tt \idx{thesis.txs}} contains two alternative +definitions of \CS{thesis}, one for Yale University (called +|\YaleThesis|) and the other for the University of Texas at Austin +(called |\UTthesis|). The default is that saying \CS{thesis} gives you +|\YaleThesis|, but this is easily changed by saying |\let\thesis=\UTthesis|. + +If you are not at Yale or UT you will need to change the +macros in |thesis.txs| to create your own version of the \CS{thesis} +macro. Every university has different requirements for how a thesis is +typed or typeset, and these requirements often conflict. Perhaps the +first thing you should do if you want to write a thesis using \TeXsis\ +is find out if someone else at your university has already done so, and +then copy their definition of \CS{thesis}. If you end up creating a +new style file for your university then we hope that you will make it +available for other students to use. We would also be willing to help, +by putting such style files on the \TeXsis\ anonymous ftp server. +If you have such a file (or other macros) you would like to contribute, +send us e-mail at {\tt texsis@texsis.org}. + + +%=========================* +\subsection{Creating New Styles} + +It is very easy to create a new document style and style file. +By convention, \TeXsis\ style files end with the filename extension +``|.txs|,'' so all you need to do is put the definitions and macros +defining this new document style into such a file, and then read that +file in when beginning the document. For example, suppose you create a +style file called |mine.txs| which contains a document style called +|\mystyle|, which is a slightly altered version of \cs{paper}: +\TeXexample +\def\mystyle{\paper + \hsize=|<dimen> + \vsize=|<dimen> + \showsectIDfalse + ... + } +|endTeXexample +\noindent +You could then simply read in this file at the beginning of the document, +with \cs{input}, and then invoke |\mystyle|, like so, +\TeXexample +\input mine.txs +\mystyle +|endTeXexample + +However, you may have noticed that none of the special document styles +mentioned in \Sect{styles} were actually loaded with \cs{input}, +although they are in fact read from a style file. This was done using +the \CS{autoload} command. Saying +\TeXexample +\autoload\AIPproceeings{AIP.txs} +|endTeXexample +defines |\AIPproceeings| to be a simpler instruction which, if invoked, +automatically loads the style file |AIP.txs|, which contains the real +definition of |\AIPproceedings|. After the style file has been loaded +this real |\AIPproceedings| is automatically called. It then appears as +if the definition of the macro was in \TeXsis's memory all the time, +though it really was only loaded from the file when called for. + +As a practical example of using \CS{autoload}, suppose that you are a +student at Excited State University and you want to create a customized +\cs{thesis} macro which will load automatically from a style file called +|ESUthesis.txs|. You could copy the macros in the file |thesis.txs| +to this new file, and then edit them as needed. Then, to make the +new definition load automatically you would say +\TeXexample +\autoload\thesis{ESUthesis.txs} +|endTeXexample +\noindent +To make this new definition of \cs{thesis} available to +anyone using \TeXsis\ on your machine you would want to put this +\CS{autoload} command in the file |TXSsite.tex| before building the +\TeXsis\ format. This is described in more detail in Appendix~\use{install}. +To make the new definition automatically available just to you in your +thesis directory you could put the command in a file called +|TXSmods.tex| in that directory. + +Important note: many \TeXsis\ style files and source files use the ``|@|'' +character in the names of macros which are to be ``hidden'' from the +casual user. Since ``|@|'' is not a letter these macros can't normally +be used. If you are writing a style file which needs to use these +hidden macros you should say \CS{ATunlock} first, to make ``|@|'' a +letter, and then \CS{ATlock} when you are done to turn ``|@|'' back +into a non-letter. + + + + +\Ignore % The stuff below is maybe way too technical? + +You may also need to make changes in some of more complicated macros. +This is most easily made by copying the original definition from one +of the |TXSxxxx.tex| files into |mine.txs| and editing it. For +example, if you want the abstract to be in 9~pt.\ type, copy the +definition of |\abstract| from |TXStitle.tex| and add |\ninepoint| to +it: +% +\TeXexample +|smalltt\def\abstract{% begin abstract of a paper or treatise + \endmode % end any previous field + \bigskip\bigskip % some space above + \centerline{ABSTRACT}% % ``ABSTRACT'' + \medskip % space below that + \bgroup % begin \abstract group + \let\endmode=\endabstract % \endmode ends \abstract + \narrower\narrower % bring in margins + \ninepoint % NEW FOR \mystyle STYLE + \singlespaced} % single spaced +|endTeXexample + +While some of the macros you need to change may be complicated, the +changes \hbox{you} will actually need to make will probably still be fairly +simple. For example, in the definition of |\section| in |TXSsects.tex| +you probably want to change only the part that actually prints the +section heading. This is a small part of the whole and is reasonably +well commented. The default is to print the section head left +justified, ragged right, with a hanging indentation whose width is set +by the section number: +% +\TeXexample +|smalltt% +% Print the Section title: +% + \ifx\tbf\undefined\def\tbf{\bf}\fi % default \tbf is \bf + \vbox{% % keep heading in \vbox + {\raggedright % + \pretolerance=2000\hyphenpenalty=2000 % no hyphenation + \setbox0=\hbox{\noindent\tbf\@fullID}%% find width of ID + \hangindent=\wd0 \hangafter=1 % for hanging indent + \noindent\unhbox0{\tbf{#1}}\relax % number and title + \medskip}}% % + \nobreak % +|endTeXexample +% +If instead you want the section headings to be centered with two +spaces (|\ \ |) after the number, you can replace this part of the +|\section| macro +% +\TeXexample +|smalltt% +% Print the Section title: +% + \ifx\tbf\undefined\def\tbf{\bf}\fi % default \tbf is \bf + \vbox{% % keep heading in \vbox + {\raggedcenter % USE RAGGED CENTER + \tbf\@fullID\ \ #1 % ID AND TITLE + \endraggedcenter % END RAGGED CENTER + \medskip}}% % + \nobreak % +|endTeXexample +% +\noindent +You can leave the rest of the \cs{section} macro alone and it will work +as before. + +\endIgnore + + + +%==================================================* +\subsection{Overhead Transparencies (Slides)} + +\TeXsis\ contains a simple \CS{slides} format for making overhead +transparencies or similar material. +While \TeX\ is not a convenient language for graphical page layout, it +is sometimes useful to be able to convert a paper to transparencies or +visa versa.\Footnote*{However, until recently one of the +authors of \TeXsis\ preferred to make neatly lettered transparencies by +hand, using colored pens, rather than using a printer that could only +print in black and white. +He's changed his mind now that it is possible to produce text +in color.} +If you want to use |\slides|, simply begin your manuscript file with +% +\TeXexample +\slides +|endTeXexample +instead of (or in addition to) |\texsis|. +% +This will produce +%% NOT ANYMORE $8\frac{1}{2}\,{\rm in} \times 10\frac{1}{2}\,{\rm in}$ +pages with $1\,{\rm in}$ margins in +the ``portrait'' orientation with 24~pt.\ type, with a ragged right +margin and lots of incentive to suppress hyphenation. +%% NOT ANYMORE and bottom margins. +\CS{slides} also defines \CS{bl} to insert a blank line and +\CS{np} to create a new page, since these are often useful for slides. +Since the \CS{slides} format is very simple, it is not loaded from a +style file. + +%==================================================* +\subsection{Color PostScript Output \label{sect.color}} + +Now that color printers are fairly common, it is useful to have some +way to produce text that is printed in different colors. +The simplest use of this is for producing overhead transparencies, as +with the \CS{slides} format. +\TeXsis\ has a simple set of macros, in the style file {\tt +color.txs}, which lets you change the colors of text printed using +PostScript. +This only works for PostScript output produced by\index{Rokicki, +Tomas} Tom Rokicki's {\tt dvips} program,\cite{Rokicki} using the +profile file {\tt color.pro} that is usually included with {\tt +dvips}. + +To use these macros, you must first input the definitions, +\TeXexample +\input color.txs +|endTeXexample +To change the color of all text which follows, use the command \CS{SetColor}, +as in +\TeXexample +\SetColor{Green} +|endTeXexample +Keep in mind that this will change \undertext{all} +text, including page numbers and headlines and footlines. To print a +small portion of text in some other color, use +\CS{colorit}, +as in +\TeXexample +\colorit{Red}{The text inside these brackets is colored Red} +|endTeXexample +You can change the color of the background using \CS{background}, +as in +\TeXexample +\background{Yellow} +|endTeXexample + +\bigskip +\pagecheck{2in} + +The 12 basic colors available are +\example +\settabs 4\columns +\+& Black & White & Gray \cr +\+& Red & Green & Blue \cr +\+& Cyan & Magenta & Yellow \cr +\+& Purple & Orange & Brown \cr +\endexample +Note that the case is important---the names must begin with an initial +capital letter. + +For the basic colors listed above some shortcuts are also defined. +Specifically, you can simply use the color name as a command, with the +text to be colored as a single argument, as in +\TeXexample +\Red{This text is colored Red} +|endTeXexample +or you can say |\text|\meta{Color} to change the text color, +as in +\TeXexample +\textGreen +|endTeXexample +You can add shortcuts for other colors besides the basics +with the \CS{addColor} command. Saying +\TeXexample +\addColor{Salmon} +|endTeXexample +will define |\Salmon| and |\textSalmon| as shortcuts +for |\colorit{Salmon}{|\meta{text}|}| and |\setColor{Salmon}|. + +Although the basic colors listed above should be enough for most +simple applications, there are actually a whole host of other colors +available. In fact, all of the colors found in a box of 64 Crayola +Crayons are defined in {\tt color.pro} for |dvips|. You can define +short-cuts for all of these simply by saying \CS{Crayolas}. +You can produce a list of all of the colors, with each printed in its +own color, by saying \CS{ListColors}. + +The commands so far have just about the same syntax as those in the +macro package called {\tt COLORDVI.TEX}, by Jim +Hafner\reference{colordvi} Hafner, Jim, the {\tt COLORDVI.TEX} macros +are included in the {\tt dvips} distribution. See \Ref{Rokicki} +\endreference\space +(although the internal workings are slightly different). +Any plain \TeX\ file which uses {\tt COLORDVI.TEX} should also work +using {\tt color.txs}. +But the {\tt color.txs} macros also include commands to specifically +manipulate the PostScript color stack. +To change the color temporarily by pushing it onto the stack, and then +revert to the previous color by popping the stack, use \CS{PushColor} +and \CS{PopColor}, as in +\TeXexample +This text is in some color, probably black. +\PushColor{Purple} +This text will be purple. +\PopColor +This text will be back in the previous color. +|endTeXexample + +Be aware that the color changes have nothing to do with TeX's grouping +mechanism (\ie\ curly brackets), but are based only on the PostScript +color stack. +If you really want the color to change back when a \TeX\ group ends +(whenever that might happen), you can use +\cs{aftergroup}, as in +\TeXexample +\begingroup\PushColor{Red}\aftergroup\PopColor +|endTeXexample +Then later when the group is ended, the \CS{PopColor} is automatically +executed and the color reverts to its previous value. +One nice way this can be used is to color all displayed equations, +by putting this all in \cs{everydisplay}, like so +\TeXexample +\everydisplay={\PushColor{BurntOrange}\aftergroup\PopColor} +|endTeXexample +A displayed equation is always constructed within a new group, and +when it ends the \CS{PopColor} on the \cs{aftergroup} stack is invoked +automatically and the text reverts to the previous color. + +\bigskip + + +If the 64 colors listed by \CS{ListColors} are not enough for your +purposes, you can also define your own, using \CS{SetCmykColor} or +\CS{PushCmykColor}. +Colors are specified as a quadruple of intensity values between 0.0 and 1.0 +(CMYK means Cyan, Magenta, Yellow, and blacK). For example: +\TeXexample +\SetCmykColor{.2 .3 .4 .1} +|endTeXexample +will give you a nice tan, while +\TeXexample +\PushCmykColor{.5 .5 .1 .2} Old Blue Eyes \PopColor +|endTeXexample +will print the text in the shade of blue specified by that particular +CMYK quadruple. + + +%==================================================* +\subsection{Twin Page Output} + +It is sometimes desirable to produce preprints or other documents in a +compact format with two pages on each physical page in landscape +orientation. While this can be done with \cs{SetDoubleColumns}, a much +simpler approach is sufficient. \TeXsis\ contains a macro called +\CS{twinout} which redefines the output routine to produce two pages +per page, without attempting to balance columns or allowing spanned +equations, tables, etc. (thus avoiding many of the possible problems +with the more powerful double column macros). \CS{twinout} can be used +with any of the standard formats described in \Sect{papers} or +\Sect{fmts} or even with Plain \TeX. Since \CS{twinout} does not +select fonts, the user must do so:\index{twin page output} +% +\TeXexample +\texsis +\tenpoint +\def\Tbf{\twelvebf} +\def\tbf{\tenbf} +\twinout + |<text> +|endTeXexample +Alternatively, the \CS{twinformat} command can be used to produce any +\TeXsis\ format in \CS{twinout} layout with 10~pt fonts. Thus the above +commands can be replaced by +\TeXexample +\texsis +\twinformat + |<text> +|endTeXexample +Here \CS{twinformat} automatically sets up 10~pt fonts and appropriate +values for the title bold face fonts, just as in the previous example. +\CS{twinout} use the following dimensions: +% +\description{Xnormhsize\qquad}\clump +% +\itm{\CS{twinhsize}} +Total width for twin column output. +% +\itm{\CS{twinvsize}} +Column height for twin column output. +% +\itm{\CS{twincsize}} +Column width for twin column output. +% +\itm{\CS{normhsize}} +Normal value of \cs{hsize} in portrait mode. +% +\itm{\CS{normvsize}} +Normal value of \cs{vsize} in portrait mode. +% +\enddescription +All of these have sensible default values for $8.5\,{\rm in} \times +11\,{\rm in}$ paper but can be reset before \CS{twinout} is called. The +"normal" sizes should print properly with the default device driver +and printer. Appropriate default values for all these dimensions can +be set in |TXSsite.tex|. + + \CS{twinout} puts \cs{LandscapeSpecial} on each page. This is null by +default but can be redefined to be an appropriate \cs{special} command +to produce landscape output with your device driver and printer. For +example, with |dvips|\cite{Rokicki}\index{dvips}\index{Rokicki, Tomas} +and a PostScript printer, use +\TeXexample +\def\LandscapeSpecial{\special{papersize=11in,8.5in}} +|endTeXexample +A default value can be set in |TXSsite.tex|. + + \CS{twinprint} is a substitute for \cs{preprint} which sets the +title, author, and other titlepage material full size in landscape mode +and then switches to \CS{twinout} twin column output with 10~pt type for +the text of the paper. A typical preprint might read: +\TeXexample +\twinprint +\titlepage +\title + |<paper title> +\endtitle +\author + |<author's name and address> +\endauthor +\abstract + |<text of abstract> +\endabstract +\endtitlepage + |<text of paper> +\bye +|endTeXexample +\nobreak\noindent +This produces a nice, compact format for preprints. + +%>>> EOF TXSfmts.doc <<< |