summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex209/contrib/aasmacros/apjpt.doc
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/latex209/contrib/aasmacros/apjpt.doc')
-rw-r--r--obsolete/macros/latex209/contrib/aasmacros/apjpt.doc1166
1 files changed, 1166 insertions, 0 deletions
diff --git a/obsolete/macros/latex209/contrib/aasmacros/apjpt.doc b/obsolete/macros/latex209/contrib/aasmacros/apjpt.doc
new file mode 100644
index 0000000000..a8f8b8a1e1
--- /dev/null
+++ b/obsolete/macros/latex209/contrib/aasmacros/apjpt.doc
@@ -0,0 +1,1166 @@
+% APJPT.STY -- ApJ plano tables style.
+
+% Plano tables are camera-ready pages that are included in a typeset
+% article the same way as line drawings, graphs, and other camera-ready
+% art, i.e., as "planographic" figures. This file is parameterized so
+% that the tables are appropriate for the ApJ.
+
+% My convention for identifying configuration information is for styles
+% to define the five parameters below.
+
+\def\revtex@ver{1.1} % Version number of this file.
+\def\revtex@date{10 Jan 93} % Revision date.
+\def\revtex@org{AAS} % Sponsoring organization.
+\def\revtex@jnl{ApJ} % Applicable journal, if specific.
+\def\revtex@genre{plano tables} % Document "type".
+
+% Display identifying message on screen and in logfile.
+
+\typeout{\revtex@org\space \revtex@jnl\space \revtex@genre\space substyle,
+ v\revtex@ver\space <\revtex@date>.}
+
+% The following mini-colophon identifies the article are having been
+% prepared with this macro package. The \revtex@pageid command only
+% defines the formatting of this colophon; its existence and placement
+% within the printed article is controlled by the use of this command
+% in the style file.
+
+\def\revtex@pageid{\xdef\@thefnmark{\null}
+ \@footnotetext{This \revtex@genre\space was prepared with the
+ \revtex@org\space \LaTeX\ macros v\revtex@ver.}}
+
+% Issue a warning if manuscripts are formatted with type smaller than 12pt.
+
+\def\genre@MS{manuscript}
+\ifx\revtex@genre\genre@MS
+ \ifnum\@ptsize<2
+ \typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts).
+ Use 12pt documentstyle option.}
+ \fi
+\fi
+
+% ****************************************
+% * INITIALIZATION *
+% ****************************************
+
+% Initialization has to occur at the head of this file because LaTeX's
+% "plain" pagestyle is used to establish defaults. These are modified
+% below to suit the requirements of this journal.
+
+\@input{art8.sty}
+
+\ps@plain % Use "plain" pagestyle for defaults.
+
+% ****************************************
+% * PAGE LAYOUT *
+% ****************************************
+
+% Create "plaintop" page style that has folios at top of page.
+
+\def\ps@plaintop{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil}
+ \def\@evenfoot{}\let\@evenhead\@oddhead}
+
+%\pretolerance=10000 % Disable hyphenation
+
+% The following gives "reasonable" ragged right results.
+
+%\@rightskip=\z@ plus 4em\rightskip\@rightskip
+
+% Page size, spacing parameters, etc.
+
+\newdimen\@fmwidth \@fmwidth=44pc % Front matter width
+\newdimen\@bodywidth \@bodywidth=44pc % Body text width
+\textwidth=\@bodywidth
+\textheight=8.9in
+\topmargin=0in
+\headheight=0in % .15in
+\headsep=0in % .35in
+\oddsidemargin=0in
+\evensidemargin=0in
+\parindent=1em
+\parskip=0ex
+\columnsep=1pc
+
+\hoffset=-2.5pc % To compensate for wide \textwidth
+\tolerance=400 % 2x "normal" value; cuts down on overfull complaints
+
+
+%\@input{styopts.sty}
+
+% ****************************************
+% * STYLE OPTIONS *
+% ****************************************
+
+% Make footnotes same size as main text.
+
+%\let\footnotesize=\normalsize
+
+% Define parameters to adjust the baselineskip.
+% These are passed as the scale factor argument to \baselinestretch.
+
+\def\@tightleading{1.1}
+\def\@doubleleading{1.6}
+
+% Double-space by default. Observe that you double-space in LaTeX by
+% resetting \baselinestretch, which is essentially a scale factor for
+% \baselineskip (= leading, for you typographophiles). The style uses
+% the \@doubleleading factor, defined above.
+
+%\def\baselinestretch{\@doubleleading}
+
+% The \tighten command merely resets the \baselinestretch to a
+% smaller factor, resulting in single-column text that is more closely
+% spaced. (This will always work.) Tightening the vertical spacing
+% in the text results in output that is more attractive for distribution
+% to colleagues who are primarily interested in reading the paper, as
+% opposed to copy editing it. Double-spaced output for referees and
+% copy editors is, however, the main objective of this style, hence
+% double-spacing occurs by default. The same effect as \tighten
+% can be achieved by using the "tighten" document style option.
+%
+% \tighten
+%
+% \tighten is intended for use in the preamble of the article.
+
+%\def\tighten{\def\baselinestretch{\@tightleading}}
+\let\tighten=\relax
+\let\tightenlines=\tighten
+
+% For authors who feel compelled to change between single and double
+% spacing in the manuscript, \singlespace and \doublespace commands
+% are provided. (Following recommendations of AAS Publications Board
+% Subcommittee on Preprints.)
+%
+% \singlespace
+% \doublespace
+
+\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize}
+\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize}
+
+% Upper case for sections (optional upper case items). These are created
+% so that some headings can be toggled between mixed case and upper case
+% readily. Headings that might be changed can be wrapped in the style
+% file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is
+% controlled here. It is `\relax' by default (mixed case heads), and can
+% easily be changed to `\uppercase' if desired. If mixed case headings
+% are wanted by the editor, authors MUST supply mixed case text, although
+% this is what authors should be doing anyway. (Mixed can be converted
+% to upper, but the reverse transformation cannot be automated.)
+
+%\def\sec@upcase#1{\uppercase{#1}}
+\def\sec@upcase#1{\relax{#1}}
+
+% Sometimes people want to number equations by section, rather than
+% sequentially through the whole paper.
+
+\def\eqsecnum{
+ \@newctr{equation}[section]
+ \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}}
+
+%\@input{slug.sty}
+
+% ****************************************
+% * SLUG LINE *
+% ****************************************
+
+% There are some obvious style-dependent parameters and formatting
+% instructions in this file. The object has been to keep the author
+% commands (the user interface, if you will) society, journal, and
+% style-independent, while the style-specific parameters and commands
+% are kept below that level. Commands and parameters that are susceptible
+% to external interpretation, either by authors or publishers/translators,
+% are identified by indented comment lines, with the semantics of command
+% arguments described in upper case text.
+%
+% \@journalname{JOURNAL NAME}
+% \cpr@holder{COPYRIGHT HOLDER}
+
+\def\@journalname{The Astropolitical Journal}
+\def\cpr@holder{American Astronomical Society}
+
+% Journal and article identification information is established by the
+% editorial staff. The following macros are used by personnel at the
+% editorial office to annotate/record slug-line data and should be included
+% in the manuscript preamble, i.e., before the LaTeX \begin{document}. All
+% they do is globally define other TeX control sequences that are used by
+% other macros at a later time.
+%
+% \received{RECEIPT DATE}
+% \revised{REVISION DATE}
+% \accepted{ACCEPTANCE DATE}
+% \journalid{VOL}{JOURNAL DATE}
+% \articleid{START PAGE}{END PAGE}
+% \paperid{ID}
+% \ccc{CODE}
+%
+% For preprints and submitted manuscripts in draft/referee format, etc.,
+% the slug-line information is irrelevant and in those kinds of style,
+% the data are never used. In my estimation, it is perfectly acceptable
+% to have these commands in the file (for future use), so they are defined
+% in the usual way.
+
+\def\received#1{\gdef\@recvdate{#1}} \received{\relax}
+\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax}
+\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax}
+\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}}
+\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}}
+\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP}
+\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB}
+
+% Following copyright and running heads \defs are stubs.
+%\let\cpright=\@gobbletwo
+%\let\righthead=\@gobble
+%\let\lefthead=\@gobble
+
+% Copyright data. Permit the author/editor to supply a copyright
+% "type" as well as the year.
+%
+% \cpright{TYPE}{YEAR}
+%
+% Copyright types are designated by name and converted to numeric form.
+% The mapping of types is defined by the code that sets the @cprtype
+% counter. The language of the copyright notices is defined by \@slug.
+
+\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2}
+ \typeout{`#1' copyright \cpr@year.}}
+
+\newcount\@cprtype \@cprtype=\@ne % Default copyright type.
+\def\cpr@AAS{\@cprtype=1}
+\def\cpr@PD{\@cprtype=2}
+\def\cpr@Crown{\@cprtype=3}
+\def\cpr@none{\@cprtype=4}
+\def\cpr@ASP{\@cprtype=5}
+
+\def\cpr@year{\number\year} % Default copyright year.
+
+% \@slug determines formatting of slugline information.
+
+\def\@slug{\par\noindent
+ \ifcase\@cprtype
+ \relax
+ \or
+ Copyright \cpr@year\space by the \cpr@holder.
+ \or
+ This article is in the public domain.
+ \or
+ Crown copyright \cpr@year\space by the \cpr@holder.
+ \or
+ No copyright is claimed for this article.
+ \or
+ Copyright \cpr@year\space by the ASP.
+ \fi
+ \par\noindent
+ Manuscript number \@paperid.\par\noindent
+ \CCC@code
+}
+
+% Authors may be asked to supply running head information. We use the
+% language of the publisher here to distinguish between two pieces of
+% information: the left head frequently contains an author list (last
+% names, possibly truncated as et al.), while the right head frequently
+% contains an abbreviated form of the paper title. The \lefthead and
+% \righthead commands merely collect the information and buffer the text.
+%
+% \lefthead{TEXT}
+% \righthead{TEXT}
+
+\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax}
+\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax}
+
+% \@runheads determines formatting of running head information.
+
+\def\@runheads{\@tempcnta\c@page
+ \@whilenum \@tempcnta >0\do{
+ \vskip 3ex
+ \hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}:
+ \expandafter\uppercase\expandafter{\@rectohead}\hfil}
+ \advance\@tempcnta by\m@ne}
+}
+
+% The \slugcomment command is provided so authors or editors may include
+% a remark about the manuscript that may be desired in print for some
+% styles. For instance, authors like to include information about the
+% journal and publication date of accepted papers ("To appear in AJ,
+% November 1992").
+%
+% \slugcomment{TEXT}
+%
+% The formatting of the \slugcomment information is controlled by the
+% \sluginfo command.
+
+\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{\relax}
+
+% Editorial offices like to have receipt and acceptance dates on the front
+% page for tracking purposes. The current practice is to require the author
+% to type Received___________________ and Accepted ________________ lines
+% for the staff to type on. The \@dates command will typeset either rules
+% or the dates specified in \received and/or \accepted commands. Note that
+% authors should not include \received and \accepted.
+
+\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@}
+
+% \@dates determines formatting of MS date information.
+
+\def\@dates{{Received}\space%
+ \if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;%
+ \hspace{1.5em}{accepted}\space%
+ \if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi%
+}
+
+% The \sluginfo command is executed automatically when a \begin{abstract} is
+% encountered, so it is not necessary (or appropriate) for the author to
+% include this line explicitly. The received/accepted business is a
+% concern only for the editorial staff, hence we have arranged for the
+% author not to have to fuss with it.
+
+\def\sluginfo{{\center
+ \@dates
+ %\@slug
+ %\@runheads
+ \endcenter}}
+
+\let\dates=\sluginfo % Backwards compatibility
+
+%\@input{text.sty}
+
+% ****************************************
+% * FRONT MATTER *
+% ****************************************
+
+% Make adjustments to LaTeX abstract style: optional upper case heading,
+% retain current type size (should be normalsize), ignore twocolumn option
+% in this substyle, add \sluginfo, and start abstract on fresh page.
+
+\def\abstract{\sluginfo\clearpage
+ \begin{center}
+ {\bf{ABSTRACT}}
+ \end{center}
+ \quotation
+}
+
+% Title and author identification is by way of standard LaTeX commands
+% \title and \author, although the macros themselves are rather different.
+% The information is typeset by these macros in this style, rather than
+% being buffered as per regular LaTeX. The authors' principal affiliation
+% is specified with a separate macro \affil. Each \author command should
+% be followed by its own \affil (or address).
+%
+% Authors often have affiliations above and beyond their main employer,
+% and these are specified with the \altaffilmark and \altaffiltext commands.
+% These commands behave like the \footnotemark and \footnotetext commands
+% of LaTeX. \altaffilmark is appended to author's names in the \author
+% lists, and generates the superscript identification numbers.
+% The text for the individual alternate affiliations is generated by the
+% \altaffiltext command. It is up to the author to make sure that the
+% \altaffilmark numbers attached to authors' names correspond to the correct
+% alternate affiliation.
+%
+% \title{LUCID TEXT}
+% \author{NAME(S)}
+% \authoraddr{AUTHOR'S POSTAL ADDRESS}
+% \affil{AFFILIATION}
+% \altaffilmark{TAG NUMBER(S)}
+% \altaffiltext{NUMERICAL TAG}{TEXT}
+%
+% The typesetting performed by these commands is appropriate for the top of
+% the first text page of the manuscript. They could as well be used on a
+% title cover page, but vertical placement would have to be controlled by
+% the author. This is not to be encouraged, since I want to discourage
+% the introduction of any extra horizontal or vertical space.
+
+\def\title#1{{\def\baselinestretch{\@tightleading}
+ \center\large\bf{#1}\endcenter}
+ \thispagestyle{empty}}
+\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}}
+\let\authoraddr=\@gobble
+\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}}
+\def\altaffilmark#1{$^{#1}$}
+\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}}
+
+% Redefine the LaTeX \and command for this style.
+
+\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}}
+
+% ****************************************
+% * KEYWORDS *
+% ****************************************
+
+% Keywords environment. Keywords, subject headings, etc., are accommodated
+% only as a piece of text; the \keywords command indents if necessary and
+% supplies the proper leading text ("Keywords:", "Subject headings:", etc.)
+% but does not apply formatting to the user's keyword text. The author
+% must supply the correct punctuation according to the journal style.
+%
+% Note that the editors of A&A, ApJ, and MNRAS have discussed the issue
+% of keywords, and there is disagreement about whether "subject headings"
+% or "keywords" should appear after abstracts in astronomical papers.
+% It does not really matter what the macro is called, so I will stick
+% to \keywords since I don't know what the difference is anyway.
+
+\def\@keywordtext{Subject headings}
+\def\@keyworddelim{---}
+
+\def\keywords#1{\vspace*{-.7ex}%\vspace{\z@}
+ \if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}}
+ \else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote}
+ \fi}
+
+\let\subjectheadings=\keywords
+
+\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do
+ {\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}}
+
+% ****************************************
+% * FOOTNOTES *
+% ****************************************
+
+% The following code redefines a few things so that spacing in footnotes is
+% different than LaTeX defaults. The adjustment to \skip\footins increases
+% the amount of vspace inserted before the \footnoterule. Redefine
+% \@makefntext to get proper indentation.
+
+\skip\footins 4ex plus 1ex minus .5ex
+\footnotesep 3ex
+
+%\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1}
+%\long\def\@makefntext#1{\indent\hbox{$^{\@thefnmark}$}#1}
+
+% ****************************************
+% * SECTIONS *
+% ****************************************
+
+% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+% optional * [ALTHEADING]{HEADING}
+% Generic command to start a section.
+% NAME : e.g., 'subsection'
+% LEVEL : a number, denoting depth of section -- e.g., chapter=1,
+% section = 2, etc.
+% INDENT : Indentation of heading from left margin
+% BEFORESKIP : Absolute value = skip to leave above the heading.
+% If negative, then paragraph indent of text following
+% heading is suppressed.
+% AFTERSKIP : if positive, then skip to leave below heading, else
+% negative of skip to leave to right of run-in heading.
+% STYLE : commands to set style
+% If '*' missing, then increments the counter. If it is present, then
+% there should be no [ALTHEADING] argument.
+
+% Adjust section heading typography slightly. This is one of the spots
+% where my personal preference is going to bite me. Anyway, I have reduced
+% the size of the main section heads to whatever the normal size is for
+% the paper; I don't think it needs to be larger, especially when the
+% layout is double-spaced.
+%
+% Also, modify the indentation behavior so that ALL paragraphs, including
+% those first after section heads, are indented. This is consonant with
+% the styles of many journals, although it's non-standard typographic practice.
+
+\def\section{\@startsection {section}{1}{\z@}
+ {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}
+ {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}
+ {5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}}
+
+\def\thesection{\@arabic{\c@section}.}
+\def\thesubsection{\thesection\@arabic{\c@subsection}.}
+\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.}
+\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:}
+
+% For ApJ, acknowledgments are set off from main body text simply by
+% vertical space (no heading or type size change). I do the same for
+% the AAS manuscript style. For use in producing more polished output
+% for other journals, this macro might generate text saying
+% "Acknowledg[e]ments".
+
+\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex}
+\let\acknowledgements=\acknowledgments % second spelling
+
+% LaTeX sectioning tools.
+
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+ \def\@svsec{}\else
+ \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup \center#6\relax
+ \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M
+ \sec@upcase{#8}\par}%
+ \endcenter\endgroup
+ \csname #1mark\endcsname{#7}\addcontentsline
+ {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}\fi
+ #7}\else
+ \def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname
+ {#7}\addcontentsline
+ {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}\fi
+ #7}}\fi
+ \@xsect{#5}}
+
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M
+ \sec@upcase{#5}\par}\endcenter\endgroup
+ \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi
+ \@xsect{#3}}
+
+
+% ****************************************
+% * EQUATION NUMBERING *
+% ****************************************
+
+% Redefine \appendix so that equation numbers are prepended with
+% \theappendix number. Reset equation counter so that equation
+% numbers in the appendix begin again with 1. Note that the
+% \appendix command is NOT a sectioning command; it is merely
+% a delimiting markup between the main body of the paper and the
+% appendix. Sections in the appendix are still started with
+% \section commands.
+%
+% \appendix
+
+\def\appendix{\par
+ \setcounter{section}{0}
+ \setcounter{subsection}{0}
+ \setcounter{equation}{0}
+ \def\thesection{\Alph{section}.}
+ \def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}}
+
+% Define mathletters environment. This is a wrapper that goes
+% *around* (outside of) equation or eqnarray environments.
+%
+% \begin{mathletters}
+% \end{mathletters}
+
+\newcounter{cureqno}
+
+\newenvironment{mathletters}{\refstepcounter{equation}%
+ \setcounter{cureqno}{\value{equation}}%
+ \let\@curtheeqn\theequation%
+ \edef\cur@eqn{\csname theequation\endcsname}%
+ \def\theequation{\cur@eqn\alph{equation}}%
+ \setcounter{equation}{0}}%
+ {\let\theequation\@curtheeqn%
+ \setcounter{equation}{\value{cureqno}}}
+
+% The \eqnum command allows the author to override all automatic
+% equation marking schemes.
+%
+% \eqnum{TEXT}
+
+\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation
+ \addtocounter{equation}{\m@ne}}
+
+% ****************************************
+% * BIBLIOGRAPHY *
+% ****************************************
+
+% Bibliography/references environment. For the time being, I don't think
+% it would be a good idea to force an implementation based on BibTeX,
+% although I'll prepare for that eventuality by using the constructs and
+% general ideas of the LaTeX thebibliography environment. Adjustments
+% have been made so that the \cite-\bibitem mechanism can be used to cite
+% references symbolically while maintaining proper citation syntax within
+% the paper; the author must create the citation label for each reference
+% in proper journal format in the \bibitem command.
+%
+% \begin{thebibliography}
+% \bibitem[LABEL]{TEXTTAG} \reference <bibliographic data>
+% \end{thebibliography}
+%
+% where LABEL must adhere to the journal's standards, e.g. "Abt 1986".
+%
+% It is not necessary to use the thebibliography environment. This style
+% defines a references environment that simply sets off the list of references
+% and adjusts spacing parameters. It is not possible to use \bibitems
+% within the references environment. (The \reference command cannot be
+% shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.)
+%
+% \begin{references}
+% \reference <bibliographic data>
+% \end{references}
+%
+% \markcite{TEXT}
+%
+% Observe that the bibliographic data supplied by the author must also
+% conform to the standards of the journal. I have elected not to burden
+% authors with tedious LaTeX commands which would require many curly braces
+% to delimit the bibliographic fields because many of the journals I have
+% targeted in this project have agreed to reduce typographic overhead (bolding,
+% italicizing, etc.) in reference lists. (See Abt's editorial in ApJ 357.)
+% It is the responsibility of the author to get these fields in the proper
+% order with the correct punctuation; the information will be typeset as is,
+% i.e., in roman with no size or style changes.
+%
+% Macros are provided for many of the oft-referenced journals so that authors
+% may use the LaTeX names rather than having to look up a particular journal's
+% specific abbreviation. In principle, all the journals should be using the
+% same abbreviations, too, but I anticipate some changes in the specific
+% abbreviations before a set is finally settled on. As long as these macros
+% are kept up to date, authors need not be concerned about such editorial
+% changes.
+%
+% Corresponding with the non-BibTeX references environment and \reference
+% command for the reference list is the \markcite command. This can be
+% used to identify in-text citations; in this case, the author provides
+% the actual citation text as opposed to the symbolic tag. The use of
+% this is encouraged, even for journals where no special formatting of
+% citation call-outs is required; it is crucial for the future use of
+% on-line browsers.
+
+\def\references{\subsection*{REFERENCES}
+ \bgroup\parindent=\z@\parskip=\itemsep
+ \def\refpar{\par\hangindent=3em\hangafter=1}}
+\def\endreferences{\refpar\egroup\revtex@pageid}
+
+\def\thebibliography{\subsection*{REFERENCES}
+ \list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em
+ \usecounter{enumi}}
+ \def\refpar{\relax}
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+\def\endthebibliography{\endlist\revtex@pageid}
+
+\def\@biblabel#1{\relax}
+%\def\@cite#1#2{({#1\if@tempswa , #2\fi})}
+\def\@cite#1#2{#1\if@tempswa , #2\fi}
+
+\def\reference{\relax\refpar} % Generic: might be better...
+\def\markcite#1{#1\relax}
+
+% Modify \@citex so that individual citation texts are NOT hboxed.
+% This allows TeX to break lines at spaces between words in citations.
+% Remove the obnoxious {\bf ?} that was inserted in the text when
+% undefined citations are encountered; here, the warning message is
+% printed only on the terminal.
+
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+ \def\@citea{}\@cite{\@for\@citeb:=#2\do
+ {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined
+ {b@\@citeb}{\@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+{\csname b@\@citeb\endcsname}}}{#1}}
+% Permit \keywords declaration, but eat the contents.
+
+\let\keywords=\@gobble
+\let\subjectheadings=\@gobble
+
+%\@input{tblfig.sty}
+
+% ****************************************
+% * TABLES AND FIGURES *
+% ****************************************
+
+% Additions and adjustments for tables and figures.
+
+% Footnotes for tables are to be identified with lower case alphabetics,
+% rather than numeric. \tablenotemark and \tablenotetext commands are
+% provided analogous to \footnotemark and \footnotetext, but with the
+% identifier *required*, like \altaffilmark and \altaffiltext. The
+% \tablenotetext must be specified before the \end{table}, since
+% \end{table} displays it.
+%
+% \tablenotemark{TAG LETTER(S)}
+% \tablenotetext{ALPHA TAG}{TEXT}
+%
+% Note that TAG LETTER == ALPHA TAG for corresponding text. It is the
+% responsibility of the author to get the correspondence correct.
+%
+% The table footnotes are coupled to the table in which they occur, rather
+% than being associated with a particular page, and they are printed with
+% the table (relatively close to the caption) instead of appearing at the
+% extreme bottom of the page. This is done to ensure that the notes wind
+% up on the same page as the table, since tables are floats and can migrate
+% from one page to another. There is the additional benefit that the notes
+% are unambiguously attached to the proper table, which is what is required
+% in the event that the editorial requirement of one table only per page
+% is ever changed to permit several tables per page.
+%
+% Footnotes are NOT supported for figures.
+
+\def\tablenotemark#1{\rlap{$^{\rm #1}$}}
+
+% The \tablenotetext command buffers the table note text and the "proper"
+% tablenote formatting information in a token buffer. The tablenotes are
+% dispensed into the vertical page list by \spew@tblnotes, which is
+% executed by \end{table}. Note that certain "global" tablenote formatting
+% details are handled by \spew@tblnotes, which also clears the tblnote list.
+% Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for
+% posting ftn.sty to the Usenet, from which I drew the technique.
+
+\newtoks\@temptokenb
+\def\tblnote@list{}
+
+\def\tablenotetext#1#2{
+ \@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par}
+ \@temptokenb=\expandafter{\tblnote@list}
+ \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+
+\def\spew@tblnotes{
+ \ifx\tblnote@list\@empty\relax
+ \else
+ \vspace{4.5ex}
+ \footnoterule
+ \vspace{.5ex}
+ {\footnotesize\tblnote@list}
+ \gdef\tblnote@list{}
+ \fi}
+
+\def\endtable{\spew@tblnotes\end@float}
+\@namedef{endtable*}{\spew@tblnotes\end@dblfloat}
+
+% Add a \tableline command for use in tabular environments. This command
+% produces the horizontal rule(s) between the column headings and the body
+% of the table. Authors are discouraged from using any \hlines themselves,
+% and are typically forbidden from using vertical rules by editors.
+
+\let\tableline=\hline
+
+% \@makecaption determines formatting for figure and table captions.
+% For manuscripts, all captions should be set as flushleft paragraphs.
+
+\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par}
+
+% The \tablenum command allows the author to override all automatic
+% table marking schemes.
+%
+% \tablenum{TEXT}
+
+\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable
+ \addtocounter{table}{\m@ne}}
+
+% The \figurenum command allows the author to override all automatic
+% figure marking schemes.
+%
+% \figurenum{TEXT}
+
+\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure
+ \addtocounter{figure}{\m@ne}}
+
+% ****************************************
+% * PLANO TABLES *
+% ****************************************
+
+% Plano tables are camera-ready pages that are included in a typeset
+% article the same way as line drawings, graphs, and other camera-ready
+% art, i.e., as "planographic" figures. There are desirable properties
+% for a formatter to have that are somewhat above and beyond LaTeX'x
+% tabular environment that would facilitate the creation of such tables.
+% Among these are breaking long tables across pages, using footnotes
+% in a table, specifying comments and references for tables, etc.
+%
+% What follows was inspired by supertab.sty by Theo Jurriens, 1988.
+
+% Commands for identifying table elements in a consistent way. Observe
+% that the formatting is embedded in the macro definitions so that the
+% author doesn't need to be concerned about stylistic nuances.
+%
+% \tablecaption{TEXT}
+% \tablehead{TEXT}
+% \colhead{HEADING}
+% \tabletail{TEXT}
+% \tablewidth{DIMEN}
+% \tableheadfrac{NUM}
+%
+% ApJ "standard" widths for tables are 21 and 42 picas, which are the
+% widths of single and double columns in the journal. For wide tables,
+% any width less than 42 is acceptable, although using widths of 30pc
+% and up will result in better appearance when centering.
+
+\newbox\pt@box
+\newdimen\pt@width
+\newcount\pt@line
+\newcount\pt@nlines
+\newcount\pt@ncol
+
+\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne}
+\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax}
+\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex]
+ #1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax}
+\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax}
+\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth
+\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1}
+
+% Calculate the number of tabular rows that will fit in the body of the
+% table. The height of the table body and the number of lines are
+% calculated thus:
+%
+% bodyheight = \textheight * (1 - \pt@headfrac)
+% \pt@nlines = bodyheight / (\arraystretch * \baselineskip)
+%
+% The row height can be seen to be valid algebraically if one examines the
+% definitions for \strutbox, \@setstrut, and \@array. I could eliminate
+% this calculation, as well as its attendant parameters, if it were possible
+% to determine the accumulated height of the \halign box as TeX goes along.
+
+\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight
+ \@tempdimb\textheight\advance\@tempdimb by-\@tempdima
+ \@tempdima\arraystretch\baselineskip
+ \divide\@tempdimb by\@tempdima
+ \global\pt@nlines\@tempdimb}
+
+% Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed
+% so tabular box can be set with \setbox. I do this so that table notes
+% can be set to natural width of table, if desired. Also, set \@acol
+% to \@ptabacol, which is called when building the preamble for the
+% \halign (assuming the first column format specification is "l", which
+% it should be for ApJ tables) so that \tabskip within the table is set
+% to \fill. This permits us to toggle between natural and fixed-width
+% tables without requiring the user to change markup. Note that by
+% forcing \tabskip always to be \fill, I pretty well nullify any
+% @{\hspace} commands the user puts in the template, but this environment
+% is for people who don't want to think about that sort of stuff anyway.
+
+\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol
+ \let\@classz\@tabclassz
+ \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
+
+\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}}
+
+% Permit different identifying strings, one for the first page of the
+% table and one for continuation pages. LaTeX's \fnum@table is set to
+% one or the other automatically in the environment. Note that caption
+% handling is not so graceful: you have to edit inside the big macros to
+% adjust this. Someday, I will be ambitious enough to fix this.
+
+\def\fnum@ptable{TABLE \thetable}
+\def\fnum@ptablecont{TABLE \thetable---{\it Continued}}
+
+\def\set@mkcaption{\long\def\@makecaption##1##2{
+ \center\Large\sc##1\\[.5ex]##2\endcenter\vskip 1.5ex}}
+\def\set@mkcaptioncont{\long\def\@makecaption##1##2{
+ \center\Large\sc##1\endcenter\vskip 1.5ex}}
+
+% The environment definition. It is desirable for the last portion of
+% a multi-page table to be \topinserted, rather than \midinserted.
+% At the moment, this doesn't happen. It's not straightforward to
+% make that preference known at the *end* of table processing.
+%
+% \begin{planotable}
+% \end{planotable}
+%
+% \startdata
+
+\newenvironment{planotable}[1]{\def\pt@format{\string#1}%
+ \set@tblnotetext\pt@ncol=0}%
+ {\crcr\noalign{\vskip .7ex}\hline\endtabular%
+ \pt@width\wd\pt@box\box\pt@box\spew@ptblnotes%
+ \typeout{Table \thetable\space has been set to width \the\pt@width}%
+ \endcenter\end@float}
+
+\def\startdata{\pt@line=0\pt@calcnlines%
+ \ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi%
+ \let\fnum@table=\fnum@ptable\set@mkcaption%
+ \@float{table}\center\caption{\pt@caption}\leavevmode%
+ \setbox\pt@box=\pt@tabular{\pt@format}\pt@head}
+
+% A kludgey kind of line delimiter is needed so that the line counter
+% can be checked prior to adding the line to the alignment box. This
+% is bad because this form does not permit the addition of vertical
+% space using the [.5ex] construct; this has to be done with an explicit
+% \vskip. And a disgusting \noalign is required, so I have to create
+% another silly piece of markup to accomplish this conveniently.
+%
+% What is desired, of course, is for this line count checking to take
+% place within the syntax of the regular LaTeX \\ command. I have been
+% giving myself apoplexy trying to figure this out for the last 36 hours,
+% and I have decided I will have to wait for the onset of my "lucid
+% period" for a solution. In the meantime...
+
+\def\pt@nl{\global\advance\pt@line by\@ne%
+ \ifnum\pt@line=\pt@nlines%
+ \endtabular\box\pt@box
+ \endcenter\end@float\clearpage%
+ \addtocounter{table}{\m@ne}%
+ \let\fnum@table=\fnum@ptablecont\set@mkcaptioncont%
+ \@float{table}\center\caption{\pt@caption}\leavevmode%
+ \global\pt@ncol=0%
+ \setbox\pt@box=\pt@tabular{\pt@format}\pt@head%
+ \global\pt@line=0%
+ \else\\
+ \fi}
+
+% Author markup commands for planotable environment line breaks.
+%
+% \nl == \nextline
+% \tablevspace{DIMEN}
+% \tablebreak
+
+\let\nl=\pt@nl
+\let\nextline=\pt@nl
+
+\def\tablevspace#1{\noalign{\vskip{#1}}}
+\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl}
+
+% We have some specialty heads that are sometimes wanted in tables.
+%
+% \cutinhead{TEXT}
+% \sidehead{TEXT}
+
+\def\cutinhead#1{\noalign{\vskip 1.5ex}
+ \hline\pt@nl\noalign{\vskip -4ex}
+ \multicolumn{\pt@ncol}{c}{#1}\pt@nl
+ \noalign{\vskip .8ex}
+ \hline\pt@nl\noalign{\vskip -2ex}}
+
+\def\sidehead#1{\noalign{\vskip 1.5ex}
+ \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl
+ \noalign{\vskip .5ex}}
+
+% Internal commands for dealing with table footnotes. I had to hack at
+% these to make them co-exist with similarly/identically named commands
+% for non-plano tables. This is admittedly ugly, and is on the agenda
+% for improved treatment Real Soon Now.
+
+\def\set@tblnotetext{\def\tablenotetext##1##2{{%
+ \@temptokena={\vspace{0ex}{%
+ \parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}%
+ \@temptokenb=\expandafter{\tblnote@list}
+ \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}}
+
+\def\spew@ptblnotes{
+ \ifx\tblnote@list\@empty\relax
+ \else
+ \par
+ \vspace{2ex}
+ {\tblnote@list}
+ \gdef\tblnote@list{}
+ \fi}
+
+% Special kinds of table footnotes. Sometimes authors tabulate things
+% which have corresponding references, and it may be desirable to associate
+% these references with the table rather than (or in addition to) the
+% formal reference list. Occasionally, authors wish to append a short
+% paragraph of explanatory notes that pertain to the entire table, but
+% which are different than the caption.
+%
+% \tablerefs{REFERENCE LIST}
+% \tablecomments{TEXT}
+%
+% It is acceptable to the Press for the titles of these paragraphs to be
+% in all caps in \normalsize. Note that I have employed the hacker's
+% caps and small caps, although this may be considered inferior.
+
+\def\tablerefs#1{\@temptokena={\vspace*{.8ex}{%
+ \parbox{\pt@width}{\hskip1em{\rm R{\footnotesize EFERENCES}.---}#1}\par}}%
+ \@temptokenb=\expandafter{\tblnote@list}
+ \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+
+\def\tablecomments#1{\@temptokena={\vspace*{.8ex}{%
+ \parbox{\pt@width}{\hskip1em{\rm N{\footnotesize OTE}.---}#1}\par}}%
+ \@temptokenb=\expandafter{\tblnote@list}
+ \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+
+% Figure and table style parameters.
+
+\def\thefigure{\@arabic\c@figure}
+\def\fnum@figure{{\rm Fig.\space\thefigure.---}}
+
+\def\thetable{\@arabic\c@table}
+\def\fnum@table{{\rm Table \thetable:}}
+
+% Figure and table float positions.
+
+\def\fps@figure{bp}
+\def\fps@table{bp}
+
+% ****************************************
+% * EPS INCLUSIONS *
+% ****************************************
+
+% Include Rokicki's epsf.sty file explicitly.
+
+\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax}
+
+% Simplified EPS inclusion macros so we can see how this goes...
+% These are layered on Rokicki's dvips material, and are dependent
+% on the author's use of that DVI driver.
+%
+% \plotone{EPSFILE}
+% \plottwo{EPSFILE}{EPSFILE}
+% \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS}
+%
+% \plotone inserts the plot in a space that is \columnwidth wide; the
+% plot is scaled so the horizontal dimension fits in the text width,
+% and the vertical dimension is scaled to maintain the aspect ratio.
+% \plottwo inserts two plots next to each other in one \columnwidth,
+% sort of like "two-up" mode.
+%
+% EPSFILE name of file with EPS
+%
+% The following arguments are for the \plotfiddle macro which formats
+% the \special itself, prepares vspace, etc. This completely bypasses
+% Rokicki's macros that attempt to rationalize the EPS BoundingBox with
+% the LaTeX page dimensions.
+%
+% VSIZE vertical white space to allow for plot
+% ROT rotation angle
+% HSF horiz scale factor
+% VSF vert scale factor
+% HTRANS horiz translation
+% VTRANS vert translation
+
+%\epsfverbosetrue
+
+\def\plotone#1{\centering \leavevmode
+ \epsfxsize=\columnwidth \epsfbox{#1}}
+
+\def\plottwo#1#2{\centering \leavevmode
+ \epsfxsize=.45\columnwidth \epsfbox{#1} \hfil
+ \epsfxsize=.45\columnwidth \epsfbox{#2}}
+
+\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode
+ \vbox to#2{\rule{0pt}{#2}}
+ \special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}}
+
+%\@input{abbrevs.sty}
+
+% ****************************************
+% * ABBREVIATIONS *
+% ****************************************
+
+% Abbreviations for journals. The object here is to provide authors
+% with convenient shorthands for the most "popular" (often-cited)
+% journals; the author can use these markup tags without being concerned
+% about the exact form of the journal abbreviation, or its formatting.
+% It is up to the keeper of the macros to make sure the macros expand
+% to the proper text. If macro package writers agree to all use the
+% same TeX command name, authors only have to remember one thing, and
+% the style file will take care of editorial preferences. This also
+% applies when a single journal decides to revamp its abbreviating
+% scheme, as happened with the ApJ (Abt 1991).
+
+\let\jnl@style=\rm
+\def\ref@jnl#1{{\jnl@style#1}}
+
+\def\aj{\ref@jnl{AJ}} % Astronomical Journal
+\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys
+\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal
+\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters
+\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement
+\def\ao{\ref@jnl{Appl.Optics}} % Applied Optics
+\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science
+\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics
+\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews
+\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement
+\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal
+\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS
+\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada
+\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS
+\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS
+\def\pra{\ref@jnl{Phys.Rev.A}} % Physical Review A: General Physics
+\def\prb{\ref@jnl{Phys.Rev.B}} % Physical Review B: Solid State
+\def\prc{\ref@jnl{Phys.Rev.C}} % Physical Review C
+\def\prd{\ref@jnl{Phys.Rev.D}} % Physical Review D
+\def\prl{\ref@jnl{Phys.Rev.Lett}} % Physical Review Letters
+\def\pasp{\ref@jnl{PASP}} % Publications of the ASP
+\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ
+\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS
+\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope
+\def\solphys{\ref@jnl{Solar~Phys.}} % Solar Physics
+\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy
+\def\ssr{\ref@jnl{Space~Sci.Rev.}} % Space Science Reviews
+\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik
+
+\let\astap=\aap
+\let\apjlett=\apjl
+\let\apjsupp=\apjs
+
+%\@input{misc.sty}
+
+% ****************************************
+% * MISCELLANEOUS *
+% ****************************************
+
+% Handy little things everybody works out for themselves anyway. Many
+% of these come from Springer's A&A package, and some were contributed
+% by Francois Schweizer at DTM. You can go berserk making these up,
+% especially when you start getting into the composite ones. We have
+% tried to select a tractable number that were useful, and somewhat
+% difficult to get right because fussy kerning or some such is required.
+% Most can be used in or out of math mode with impunity; \alt and \agt
+% are relations and can only be used in math mode.
+
+\def\deg{\hbox{$^\circ$}}
+\def\sun{\hbox{$\odot$}}
+\def\earth{\hbox{$\oplus$}}
+\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}}
+\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}}
+\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}}
+\def\arcmin{\hbox{$^\prime$}}
+\def\arcsec{\hbox{$^{\prime\prime}$}}
+\def\fd{\hbox{$.\!\!^{\rm d}$}}
+\def\fh{\hbox{$.\!\!^{\rm h}$}}
+\def\fm{\hbox{$.\!\!^{\rm m}$}}
+\def\fs{\hbox{$.\!\!^{\rm s}$}}
+\def\fdg{\hbox{$.\!\!^\circ$}}
+\def\farcm{\hbox{$.\mkern-4mu^\prime$}}
+\def\farcs{\hbox{$.\!\!^{\prime\prime}$}}
+\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}}
+\def\micron{\hbox{$\mu$m}}
+
+\let\la=\lesssim % For Springer A&A compliance...
+\let\ga=\gtrsim
+
+% Permit author to typeset "case" fractions. This is sometimes
+% wanted in displayed equations, during which LaTeX will set fractions
+% specified as \frac{x}{y} as "built-up" fractions (numerator and
+% denominator at body text size).
+
+\def\case#1#2{\hbox{$\frac{#1}{#2}$}}
+
+% Permit author to typeset fractions set with solidus where the size
+% is reduced and the numerals are oriented diagonally. Note that this
+% is different from a "shilled" fraction, which the author can produce
+% without any special formatting markup. Define markup shorthands for
+% several common fractions using solidus.
+
+\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}}
+\def\onehalf{\slantfrac{1}{2}}
+\def\onethird{\slantfrac{1}{3}}
+\def\twothirds{\slantfrac{2}{3}}
+\def\onequarter{\slantfrac{1}{4}}
+\def\threequarters{\slantfrac{3}{4}}
+
+\def\ubvr{\hbox{$U\!BV\!R$}} % UBVR system
+\def\ub{\hbox{$U\!-\!B$}} % U-B
+\def\bv{\hbox{$B\!-\!V$}} % B-V
+\def\vr{\hbox{$V\!-\!R$}} % V-R
+\def\ur{\hbox{$U\!-\!R$}} % U-R
+
+% Notation for atomic species (ionization levels). The ionization state
+% is specified as the second argument, and should be given as a numeral.
+% The macro has to expand the numeric state into the proper notation for
+% the publication (roman, numeric, plus signs, etc.)
+%
+% \ion{ELEMENT}{IONIZATION STATE}
+
+\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax}
+
+% Centered ellipsis for use in tables (for unknown values). \nodata
+% is generalized markup for this notion: format of null-valued entries
+% in tables is style-specific.
+
+%\def\cellipsis{\hfill$\cdots$\hfill}
+\def\nodata{\multicolumn{1}{c}{$\cdots$}}
+
+% This is a generalization of the \LaTeX definition that comes in LaTeX.
+% The change here ensures that LaTeX will be typeset in the current style,
+% rather than always in roman.
+
+\newcount\lecurrentfam
+\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex
+ \hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX}
+
+% ****************************************
+% * DEBUGGING *
+% ****************************************
+
+\def\sizrpt{
+ (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font
+ \typeout{
+ (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font
+}}