diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/aiaa/pre2004/aiaa.dtx')
-rw-r--r-- | Master/texmf-dist/doc/latex/aiaa/pre2004/aiaa.dtx | 2995 |
1 files changed, 2995 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/aiaa/pre2004/aiaa.dtx b/Master/texmf-dist/doc/latex/aiaa/pre2004/aiaa.dtx new file mode 100644 index 00000000000..116a768eed3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/aiaa/pre2004/aiaa.dtx @@ -0,0 +1,2995 @@ +% +% \iffalse +%% Description: a bundle of LaTeX and BibTeX files to produce +%% AIAA papers and simulated journal articles/notes +%% Keywords: LaTeX, class, AIAA, BibTeX, bibliographic-style, 9pt-option +%% Author: Bil Kleb <w.l.kleb@larc.nasa.gov> +%% Maintainer: same +%% Version: 2.4 <22 feb 1999> +%% +%% Please see the information in file `aiaa.ins' on how you +%% may use and (re-)distribute this file. Run LaTeX on the file +%% `aiaa.ins' to get the main aiaa class and other auxilary packages. +%% Also run LaTeX on `aiaa.dtx' (this file) to obtain a users manual +%% and code documentation. +%% +%% NOTE: This file may NOT be distributed if not accompanied +%% by 'aiaa.ins' and `aiaalgo.eps'. +% \fi +% +% \def\filename{aiaa.dtx} +% \def\fileversion{2.4} +% \def\filedate{1999/02/22} +% \def\docdate{\filedate} +% \date{\docdate} +% +% \newcommand*{\cls}[1]{\textsl{#1}} +% \newcommand*{\pkg}[1]{\textsf{#1}} +% \newcommand*{\file}[1]{\texttt{#1}} +% \newcommand*{\kbd}[1]{\texttt{#1}} +% \setcounter{errorcontextlines}{10} +% +% \MakeShortVerb{\|} +% +% \CheckSum{1685} +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% \title{% +% \textsf{aiaa} -- a \LaTeX{} Class and \BibTeX{} +% Style\\ for AIAA\thanks{The American Institute of Aeronautics +% and Astronautics.}\ \ Conference Papers\\ and Journal +% Submission/Simulation\thanks{This document describes \textsf{aiaa} version +% \fileversion which was born on \docdate .}} +% +% \author{bil kleb\thanks{Research Scientist, NASA Langley +% Research Center, Hampton, Virginia.}} +% +% \maketitle +% +% \begin{abstract} +% This document describes the \textsf{aiaa} distribution which +% is centered around a modification of the standard \LaTeX{} +% article class, \cls{article.cls}. The new class produces +% AIAA-conformant\footnote{Note this distribution is not a +% product of, nor endorsed by, the AIAA.} +% conference papers and journal submittals---it +% will even simulate the typesetting of journal articles and notes +% for length-determination purposes. This distribution also contains +% a (mostly) AIAA-compliant bibliographic style sheet, +% sample documents, a sample presentation, and other test equipment. +% \end{abstract} +% +% \tableofcontents +% +% \section{Introduction} +% +% The \textsf{aiaa} distribution consists of a \LaTeX{} class +% and various other files which are supposed to simplify +% the task of producing an AIAA conference paper +% and the subsequent journal submission +% For instance, with a simple, +% one-word option in the beginning of the document, a manuscript can +% take the form of a two-column conference paper replete with +% cover-page or a double-spaced journal submission manuscript +% with figures and tables at the end, including the required +% caption lists. +% +% \section{Userguide} +% +% I apologize for the sparseness of this documentation; but, hey, +% this is not in my job description.\ |;)|\ \ Hopefully the sample +% documents \file{smpaiaa.tex}, \file{smpsubf.tex}, and \file{smptalk.tex} +% provide suitable documentation through example. +% +% \subsection{Requirements} +% +% The \kbd{aiaa} distribution was developed using +% \LaTeXe{} of 1995/12/01, patch level 1, +% running \TeX{} 3.14159 and +% \texttt{dvips} 5.58f---the te\TeX{} distribution 0.3.3.\footnote{ +% The \kbd{aiaa} distribution has also been demonstrated on +% a Mac running the {\scshape Oz}\TeX{} \TeX{} distribution and a +% PC running the Mik\TeX{} \TeX{} distribution.} +% So anything more recent should work, but anything older: no guarantees. +% In particular, your \kbd{graphicx} package needs +% to be newer than September 1995 so that the |keepaspectratio| +% command is available. +% +% The \cls{aiaa} class depends +% on having access to a number of packages.\footnote{When you process +% a file with \LaTeX{}, it will let you which packages it is +% missing. The less common ones are \pkg{dropping} and \pkg{caption2} while +% the other required packages: +% \pkg{lastpage}, \pkg{setspace}, \pkg{endfloat}, \pkg{overcite}, +% \pkg{graphicx}, and \pkg{fancyhdr} are usually bundled with +% most \LaTeX{} distributions.} +% If your local site does not have all the packages necessary, they +% can be obtained from your nearest Comprehensive TeX Archive +% Network (CTAN) site. In fact, chances are that this is where you found +% this distribution. Details on how to obtain packages from a +% CTAN site are available at |http://www.tug.org/| +% or various \LaTeX{} reference books~\cite{companion,guide}. +% Especially helpful in locating various \LaTeX{} packages is +% the \kbd{Catalogue.html} web page found in the \kbd{help/Catalogue} +% directory of CTAN. +% +% \subsection{Setup} +% +% If you have not already run \file{aiaa.ins} through \LaTeX{}, +% do so. The \pkg{docscript} utility (part of \LaTeX{}) +% will rip the code segments out of \file{aiaa.dtx} +% and save them in several files. If you encounter an error +% on installation like: +% \begin{verbatim} +% ! Undefined control sequence +% \batchLine -> generate +% {\file {aiaa.cls}{\from{aiaa.dtx}{class}}} +% 1.728 \processbatchFile +% \end{verbatim} +% this means that your \pkg{docstrip} is very old and that you +% will need to update your entire \LaTeX{} distribution to +% take advantage of the \pkg{aiaa} package. +% +% Move the files \file{aiaa.cls}, +% \file{aiaa9pt.sty}, \file{aiaaenf.cfg}, and \file{aiaalgo.eps} +% to a directory searched by \TeX{}\footnote{For a Unix te\TeX{} installation, +% a privileged user could put these files in a directory named +% something like \kbd{/usr/local/teTeX/texmf/tex/latex/aiaa}\ for +% the entire site to use, remembering to run \kbd{texhash} to +% re-configure te\TeX{} to search the new directory; +% or, a lowly user could make their own directory, {\it e.g.}, +% \kbd{$\sim$/tex/inputs}, put the files in there, and set +% the environment variable \kbd{TEXINPUTS} via `\kbd{setenv +% TEXINPUTS $\sim$/tex/inputs:}'. The colon represents the system search +% path so, in this case, the user files take precedence. +% On a Mac or PC installation put these files in +% a folder named something like \file{TeX-inputs}.} +% and the file \file{aiaa.bst} to +% a directory searched by \BibTeX{}.\footnote{% +% Similar to preceding footnote, only on Unix use +% the environment variable \kbd{BSTINPUTS} +% for the bibliographic style file and +% \kbd{BIBINPUTS} for the bibliographic database; for Mac's, +% use the \file{BibTeX-inputs} folder, failing that try +% using the \file{TeX-inputs} folder.} +% Once things are installed, try to \LaTeX{} the sample AIAA +% paper in the \file{demo/paper} directory, |smpaiaa.tex|. It should +% produce something similar to |smpaiaa.ps|. +% +% \subsection{Usage} +% The \cls{aiaa} class is envoked by including\\ +% | \documentclass[|{\itshape options}|]{aiaa}|\\ +% at the beginning of your document. The package +% recognizes the following options: |submit|, |paper|, +% |article|, |note|, and |cover|. +% The |paper| option is the default and the |submit| option +% overrides any other option. The |cover| option produces +% a cover-page for conference papers or simulated journal +% reprints. +% In addition, any options that the standard \LaTeX{} article +% class accepts can be also inserted, {\it e.g.}, +% \kbd{draft}.\footnote{The \kbd{draft} +% option replaces figures with a labeled box of the appropriate size.} +% Note, when using the |note| +% option, your title and author information may need to be +% modified with extra line breaks (|\\|) +% since this information is no longer allowed to span both +% columns and may overfill the short tex twidth available. +% Other than this, the document is written just like one were +% using the standard \LaTeX{} article document class; and thus, I +% don't have to write much more on usage since it has already +% been documented by others in various \LaTeX{} +% books~\cite{companion,guide,latex}. However, +% some of the old commands have slightly different behaviors and there are +% a few new commands designed to make life a little brighter; +% these are discussed in the following sections. +% +% \subsection{General Commands} +% +% Several standard \LaTeX{} commands have been modified +% to behave differently under the new class. In addition, +% several new commands have been introduced to ease +% document preparation. Both types are discussed in the +% following subsections. +% +% \subsubsection{New Behavior from Old Commands} +% +% \DescribeMacro{\abstract} +% The |\abstract| command has been redefined within the \cls{aiaa} +% class to behave as part of the |\maketitle| sequence. Simply +% load |\abstract| as you would |\title| or |\author|, and +% as long as you have not selected the options |submit| or |note| +% (which do not allow for abstracts), the text loaded into +% the |\abstract| command will be typeset, indented and centered, +% underneath the title/author section. Remember |\abstract| must +% be loaded {\bfseries before} |\maketitle| is invoked. This is +% typically done in the preamble\footnote{% +% The preamble is defined as anywhere between the +% \cs{documentclass}\texttt{\string{\string}} +% and \cs{begin}\texttt{\string{document\string}} commands.} +% of your \LaTeX{} document. +% +% \DescribeMacro{\date} +% The \cls{aiaa} class automatically nulls the |\date| command used +% by |\maketitle|. Standard \LaTeX{} behavior of |\maketitle| +% is to typeset the current date as part of the title section +% if one is not given. So, normal one has to issue the command: +% |\date{}| when producing AIAA papers. When using the +% \cls{aiaa} class, this is no longer necessary; this command +% has already been issued. +% +% \DescribeMacro{\and} +% \DescribeMacro{\maketitle} +% Suffice it to say that |\maketitle| and |\and| have also been +% hacked, the ramifications of which I have yet to determine. +% +% \DescribeMacro{\section} +% \DescribeMacro{\subsection} +% \DescribeMacro{\subsubsection} +% \DescribeMacro{\paragraph} +% \DescribeMacro{\subparagraph} +% One no longer has to use the starred versions of these +% commands to defeat the numbering of sections. The counter +% \kbd{secnumdepth} has been set to $-2$ via, +% |\setcounter{secnumdepth}{-2}| +% so that even the unstarred versions of the sectioning commands +% never produce a number.\footnote{The \kbd{secnumdepth} counter +% controls how many +% nesting levels of section numbers should be produced. +% Of course you can defeat this by changing the counter back to its +% \LaTeX{} \cls{article} class default value of $3$ which +% will number sections down to subsections.} +% In addition, the fonts, sizes, and positions normally produced by +% these commands have been modified to make the output similar +% to a typeset journal article. In other words, +% we take advantage of the fact that you are not using a +% typewriter, {\it e.g.}, AIAA-suggested underlining for section +% names, etc.{} is replaced by the typesetting-capable equivalent. +% +% \subsubsection{New Commands} +% +% \DescribeMacro{\thanksibid} +% The command |\thanksibid| is very similar to the standard +% |\thanks| command which is used when footnoting +% the author affliations within the |\author| field. +% The distinction is that the |\thanksibid| command allows one +% to repeat a given footnote symbol without repeating the associated +% footnote text. Example of use: +% \begin{verbatim} +% \author{% +% Peter Gnoffo\thanks{Some thanks for a peter.}, +% Bil Kleb\thanks{Some thanks for a bill.}, +% Bill Wood\thanksibid{2}, and % use same footnote as for second author. +% Marge Mithus\thanks{Some thanks for a marge.} +% } +% \end{verbatim} +% Thus, |\thanksibid{2}| would only produce a footnote symbol +% at the end of Bill Wood's name and it would not generate +% another footnote. Note that using the |\thanksibid| command +% does not increment the footnote counter, so for the case given +% above, an argument of `4' would not be a valid choice. +% This command was developed so that when you have \cls{aiaa} +% make a cover sheet, extraneous footnote symbols will not be +% present. +% +% \DescribeMacro{\dropword} +% The command |\dropword| is used for the first word of the +% introduction, and for any option other than |submit|, will +% produce a `dropped' capital for the beginning of the paragraph. +% Its use is simply:\\ +% | \dropword First words of the introduction, etc.|\\ +% Note: this command also capitalizes the remaining +% portion of the first word. +% This macro relies on the presence of the |dropping| package +% by Mats Dahlgren~\cite{dropping}. +% +% \DescribeMacro{\incfig} +% The |\incfig| command is used for including figures via David Carlisle's +% \pkg{graphicx} package~\cite{graphicx}. The +% command |\incfig| command is merely a shorter version of +% the original |\includegraphics| command along with a centering +% command, {\it i.e.}:\\ +% | \newcommand{\incfig}{\centering\includegraphics}|\\ +% It is typically used for including Encapsulated Postscript files +% (|*.eps|) within a |figure| environment. +% For example, to include +% a figure named |figa.eps| residing in a |figs| subdirectory, one +% would use: +% \begin{verbatim} +% and \Figure{f:figurea} shows that things are purple. +% \begin{figure} +% \incfig{figs/figa} +% \caption{This is the caption for figure a.} +% \label{f:figurea} +% \end{figure} +% \Figure{f:figurea} also shows that people are green. +% \end{verbatim} +% For more information regarding the inclusion of external +% graphic files, see the file \file{epslatex.ps} in the \kbd{info} +% directory of the CTAN. Also, read the Graphics Guide that +% is part of the \pkg{graphicx} package. +% +% \DescribeEnv{subfigmatrix} +% Via the \pkg{subfigure} package and a new environment, |subfigmatrix|, +% one can easily create a ``matrix'' of subfigures. The +% environment takes one argument: the number of columns across +% the matrix will be. +% For instance, to produce a matrix of four subfigures, two by two: +% \begin{verbatim} +% \begin{figure} +% \begin{subfigmatrix}{2} +% \subfigure[Subfigure one. ]{\incfig{one}\label{f:matrix_1}} +% \subfigure[Subfigure two. ]{\incfig{two}} +% \subfigure[Subfigure three.]{\incfig{three}} +% \subfigure[Subfigure four. ]{\incfig{four}\label{f:matrix_4}} +% \end{subfigmatrix} +% \caption{A `matrix' of four subfigures.} +% \label{f:matrix} +% \end{figure} +% and with imbedded \label commands we can refer to +% Figure~\ref{f:matrix} in entirety or specific subfigures like +% subfigure~\ref{f:matrix_1} or subfigure~\ref{f:matrix_4}. +% \end{verbatim} +% See the demonstration file \file{smpsubf.tex} which comes with +% this distribtuion for more extensive examples. +% +% \subsection{Layout-specific Commands} +% +% The following commands are used to load information for other +% commands that produce appropriate headers, footers, cover-page +% items, and document notices---{\it e.g.}, copyright conditions. All +% of these commands are normally set in the preamble +% of your document (similar to |\author| and |\title|). +% For a more modular, and perhaps cleaner approach, you could +% place all of it in a file, \file{preamble.tex}, and use +% |\input{preamble}| to include it in your main document. +% +% \subsubsection{Header and Footer Information} +% +% \DescribeMacro{\SubmitName} +% \DescribeMacro{\PaperNumber} +% \DescribeMacro{\ArticleIssue} +% \DescribeMacro{\ArticleHeader} +% \DescribeMacro{\NoteHeader} +% The commands |\SubmitName|, |\PaperNumber|, +% |\ArticleIssue|, |\ArticleHeader|, and +% |\NoteHeader| are used to put appropriate items in the header +% and footer of each page, {\it e.g.}, +% \begin{verbatim} +% \SubmitName{Kleb} +% \PaperNumber{96--0825} +% \ArticleIssue{Vol.~32, No.~6, November--December 1995}% first page +% \ArticleHeader{Kleb et al: Pitch-Over Maneuver}% subsequent pages +% \NoteHeader{J.Spacecraft, Vol.~32, No.~6: Engineering Notes} +% \end{verbatim} +% The command |\SubmitName| is used to mark the main author's +% name on all pages for the +% journal manuscript submission option: |submit|. The +% |\PaperNumber| is used to include the paper number +% for AIAA conference papers. +% The commands |\ArticleIssue|, +% |\ArticleHeader|, and |\NoteHeader| are used to create +% the appropriate headers when simulating a journal article or +% note. The contents of |\ArticleIssue| appear on the first page +% and the contents of |\ArticleHeader| appear on subsequent pages while for +% journal note simulations the contents of |\NoteHeader| is used for all pages. +% +% \subsubsection{Cover-page Information} +% +% \DescribeMacro{\CoverFigure} +% \DescribeMacro{\Conference} +% \DescribeMacro{\JournalName} +% \DescribeMacro{\JournalIssue} +% \DescribeMacro{\JournalPage} +% The commands |\CoverFigure|, +% |\Conference|, |\JournalIssue|, |\JournalPage|, and |\JournalName| provide +% information for producing cover-pages. +% \begin{verbatim} +% \CoverFigure{tstfig.eps} +% \Conference{31st AIAA Aerospace Sciences \\ +% Meeting and Exhibit \\ +% {\mfseries January 6--9, 1997/Reno, NV}}% note: non-bold date/loc. +% \JournalName{Journal of Spacecraft and Rockets} +% \JournalPage{715} +% \JournalIssue{Volume 32, Number 6} +% \end{verbatim} +% The commands |\CoverFigure| and +% |\Conference| define a representative figure (optional) +% and conference name/date/location to be used on the cover-page +% of a conference paper, while +% the commands |\JournalName| and |\JournalIssue| are for the +% cover-page produced for journal article or note reprint simulations. +% +% \subsubsection{Copyright and Other Document Notices} +% +% \DescribeMacro{\PaperNotice} +% \DescribeMacro{\JournalNotice} +% A footnote describing the copyright conditions +% and other information about the document are incorporated via the +% |\PaperNotice| and |\JournalNotice| commands. These normally include +% one of the the copyright series +% of commands: |\CopyrightA|, |\CopyrightB|, |\CopyrightC|, or +% |\CopyrightD|, described below. +% To use, simply include something like the following in +% the your document's preamble: +% \begin{verbatim} +% \PaperNotice{\CopyrightA{1996}} +% \JournalNotice{Presented as Paper 96--0825 at the AIAA 34th +% Aerospace Sciences Meeting, Reno,~NV, +% Jan.~15--18,~1996; received Feb.~15,~1996; +% revision received Nov.~25,~1996. \CopyrightC} +% \end{verbatim} +% +% \DescribeMacro{\CopyrightA} +% \DescribeMacro{\CopyrightB} +% \DescribeMacro{\CopyrightC} +% \DescribeMacro{\CopyrightD} +% The copyright commands will expand to one of the standard AIAA +% forms: A, B, C, or D. +% Note: they each have different arguments---or no +% arguments---depending on the requirements:\\ +% | \CopyrightA{|\textit{year}|}|\\ +% | \CopyrightB{|\textit{year}|}{|\textit{full name or company}|}|\\ +% | \CopyrightC|\\ +% | \CopyrightD{|\textit{year}|}|\\ +% See your AIAA copyright instructions for which form to use. +% +% \section{Known Problems} +% +% \begin{itemize} +% +% \item The bibliographic style sheet |aiaa.bst| isn't fully +% tested; and thus, you may need to fiddle with your +% |.bbl| file for your final copy, {\it i.e.}, edit |file.bbl| +% after running a \LaTeX{}, \BibTeX{}, \LaTeX{} sequence, +% but before running \LaTeX{} the final time. Note, if +% you run \BibTeX{} after modifying |file.bbl|, you will +% lose your modifications when \LaTeX{} is run +% again. Therefore, it is best to turn off write-permission +% on \file{file.bbl} after you have it correct. +% +% \item When using the |submit| option for a document which +% contains subfigures,\footnote{See +% sample documents \file{smpaiaa.tex} and +% \file{smpsubf.tex} for examples of subfigure use.} +% some of the subfigures my be clipped. +% In fact, the way the |submit| option deals with subfigures +% needs work---to put it mildly. The current work-around +% is to add \kbd{width} or \kbd{height} options to your |\incfig| +% commands until the figures fit properly. These options +% are explained in the documentation which comes with +% the \pkg{graphics} package~\cite{graphicx}. +% +% \item Currently you have to make subfigure captions appear +% in bold font explicitly, {\it e.g.},\\ +% | \subfigure[\bf Subfigure caption.]{\incfig{fig.eps}}|\\ +% The next version of \pkg{subfigure} is supposed to remedy this. +% +% \item The notices come after the author footnotes. To +% produce the correct behavior requires significant +% changes to the |\maketitle| command. +% +% \item The simulated journal article modes use the standard, free, +% Computer Modern Fonts. The AIAA journals most likely +% use licensed (\$) fonts. +% +% \item The simulated journal cover-pages do not have anywhre near +% the correct font for the journal name---does anyone know +% where to get such a {\em free}, tall, bold, squashed +% helvetic-style font? It looks like Bitstream's Aurora +% condensed\ldots +% +% \item (Not actually an \pkg{aiaa} problem.) +% Using the starred versions of |figure| and |table| +% environments (floats which span both columns) +% inter-mixed with the unstarred versions (single-column +% wide floats) often creates a situation where the +% figures or tables appear out of order. For the final +% copy, this can normally be corrected with judicious +% use of float position specifiers.\footnote{Recall, {\bf +% never} use just \kbd{[h]}, always give other options or +% that float might get `stuck' and force it and all the +% following floats to the end of the document.} +% Unfortunately, this is +% stock, documented behavior for \LaTeX{}. +% However, recently a package \pkg{fix2col} has become available +% which appears to rectify this behavior. It can be +% found on CTAN in the +% \kbd{macros/latex/contrib/supported/carlisle} directory. +% +% \end{itemize} +% +% \section{Acknowledgements} +% +% Bundling and documenting this |aiaa| distribution in docstrip +% format was done by using other packages as a model, +% particularly, Mats Dahlgren's \pkg{dropping}~\cite{dropping} +% and Jeff Goldberg {\em et al}'s \pkg{endfloat}~\cite{endfloat}. +% +% I want to thank the people of the |comp.text.tex| newsgroup, +% the \TeX{}/\LaTeX{} Frequently Asked Questions maintainers, +% and various package authors for patiently answering my inane +% questions, in particular, but in no particular order: +% \begin{list} +% {$\triangleright$} +% {\setlength{\itemsep}{0pt}\setlength{\parsep}{0pt}} +% \item Donald Arsenau (|asnd@reg.triumf.ca|) +% \item Robin Fairbairns (|Robin.Fairbairns@cl.cam.ac.uk|) +% \item Piet van Oostrum (|piet@cs.ruu.nl|) +% \item Jeroen Nijhof (|nijhof@th.rug.nl|) +% \item Steven Douglas Cochran (|sdc+@cs.cmu.edu|) +% \item Jeffrey Goldberg (|J.Goldberg@cranfield.ac.uk|) +% \item Mark Wooding (|mdw@excessus.demon.co.uk|) +% \item Paul Foley (|mycroft@actrix.gen.nz|) +% \item David Kastrup (|dak@fsnif.neuroinformatik.ruhr-uni-bochum.de|) +% \item Jerry Leichter (|leichter@smarts.com|) +% \item P.~W.~Daly (|daly@linpwd.mpae.gwdg.de|) +% \item David Carlisle (|carlisle@goofy.zdv.Uni-Mainz.de|) +% \item Edward Sznyter (|sznyter@babel.com|) +% \end{list} +% +% \section{Sending a Bug Report} +% The \textsf{aiaa} distribution is highly likely to contain +% bugs. Reports of bugs in the package are most welcome. +% However, I consider this to be a minimally ``supported'' package. +% I will do what I can, when I can---promising nothing. +% Before filing a bug report, please take the following actions: +% \begin{enumerate} +% \item Ensure your problem is not due to your own input file(s) +% styles sheet(s), or package(s); +% \item Ensure your problem is not covered in the section +% ``Known Problems'' above; +% \item Try to isolate the problem by writing a {\it minimal} +% \LaTeX{} input file which reproduces the unexpected behavior. +% Include the command\\ +% | \setcounter{errorcontextlines}{50}|\\ +% in your input to provide extra context when things go awry; +% \item Run your file through \LaTeX{}; +% \item Send a description of your problem, the input file +% and the log file via e-mail to: \texttt{w.l.kleb@larc.nasa.gov}. +% \end{enumerate} +% I am not in the business of answering generic \TeX{}/\LaTeX{} +% questions; so if your problem appears to be such, I will +% let you know.\bigskip +% +% \noindent{\itshape Enjoy(?) the everpresent deadline and enjoy your +% \LaTeX!\raisebox{-\baselineskip}{---bil}} +% +% \begin{thebibliography}{1} +% +% \bibitem{companion} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock{\em The {\LaTeX} Companion}. +% \newblock Addison-Wesley, Reading, Massachusetts, 1994. +% +% \bibitem{guide} +% Helmut Kopka and Patrick W. Daly. +% \newblock{\em A Guide to {\LaTeXe}: Document Prepartion for +% Beginners and Advanced Users}. +% \newblock 2nd ed. +% \newblock Addison-Wesley, Reading, Massachusetts, 1994. +% +% \bibitem{latex} +% Leslie Lamport. +% \newblock{\em {\LaTeX}: A Document Preparation System}. +% \newblock 2nd ed. +% \newblock Addison-Wesley, Reading, Massachusetts, 1994. +% +% \bibitem{dropping} +% Mats Dahlgren. +% \newblock \pkg{dropping}---A \LaTeX{} Macro for Dropping +% the First Character(s) of a Paragraph. +% \newblock June 1996. (version~0.1) +% \newblock Electronic Documentation. +% +% \bibitem{graphicx} +% David Carlisle. +% \newblock Packages in the `graphics' bundle. +% \newblock December 1995. +% \newblock Electronic Documentation. +% +% \bibitem{endfloat} +% James Darrell McCauley and Jeff Goldberg. +% \newblock The \texttt{endfloat} Package. +% \newblock October 1995. (version~2.4i) +% \newblock Electronic Documentation. +% +% \end{thebibliography} +% +% \StopEventually{\PrintChanges} +% +% \newpage +% +% \section{The Documentation} +% +% The following contains the documentation driver for this user manual. +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\setlength\hfuzz{2pt}% reduce overfull warnings +\OnlyDescription % stop at \StopEventually comment to get everything +%\RecordChanges % display change information +\begin{document} + \DocInput{aiaa.dtx} +\end{document} +%</driver> +% \end{macrocode} +% +% \section{The Code} +% +% For the interested reader(s), following is a semi-documented +% of the class code, the 9pt style, bibliographic style file, and +% the endfloat configuration. These detailed coding bits +% are not included in the Users' Manual by default, if you really +% want to see these in typeset form, you need to comment out the +% |\OnlyDescription| line in the |<driver>| section of this file +% \file{aiaa.dtx}. +% If you feel the need to +% modify things, simply cut the section you want to change +% and save it to a file named \file{mymods.sty}. Then modify +% the code in \file{mymods.sty} to suit your needs and include +% it in your document via |\usepackage{mymods}| in the +% preamble. +% +% \subsection{The class code} +% +% The underlying logic is supposed to look like:\footnote{Picture +% environment flowchart generated by flow 0.99b.}\\[1pt] +% +% \setlength\unitlength{1.8em} +% \thicklines +% \begin{picture}(16.000000,20.000000)(-1.000000,-20.000000) +% \put(1.0000,-0.5000){\oval(2.0000,1.0000)} +% \put(0.0000,-1.0000){\makebox(2.0000,1.0000)[c]{\shortstack[c]{ +% begin +% }}} +% \put(1.0000,-1.0000){\vector(0,-1){1.0000}} +% \put(-1.0000,-4.0000){\framebox(4.0000,2.0000)[c]{\shortstack[c]{ +% code common\\ +% to all options +% }}} +% \put(1.0000,-4.0000){\vector(0,-1){1.0000}} +% \put(-0.5000,-6.5000){\line(1,1){1.5000}} +% \put(-0.5000,-6.5000){\line(1,-1){1.5000}} +% \put(2.5000,-6.5000){\line(-1,-1){1.5000}} +% \put(2.5000,-6.5000){\line(-1,1){1.5000}} +% \put(-0.5000,-8.0000){\makebox(3.0000,3.0000)[c]{\shortstack[c]{ +% \texttt{submit}? +% }}} +% \put(2.5000,-6.0500){\makebox(0,0)[lt]{No}} +% \put(1.4500,-8.0000){\makebox(0,0)[lb]{Yes}} +% \put(1.0000,-8.0000){\vector(0,-1){1.0000}} +% \put(0.0000,-11.0000){\framebox(2.0000,2.0000)[c]{\shortstack[c]{ +% \texttt{submit}\\ +% code +% }}} +% \put(1.0000,-11.0000){\vector(0,-1){1.0000}} +% \put(1.0000,-12.5000){\oval(2.0000,1.0000)} +% \put(0.0000,-13.0000){\makebox(2.0000,1.0000)[c]{\shortstack[c]{ +% done +% }}} +% \put(2.5000,-6.5000){\vector(1,0){1.0000}} +% \put(3.5000,-7.5000){\framebox(5.0000,2.0000)[c]{\shortstack[c]{ +% \texttt{paper}/\texttt{article}\\ +% /\texttt{note} code +% }}} +% \put(6.0000,-7.5000){\vector(0,-1){1.0000}} +% \put(4.5000,-10.0000){\line(1,1){1.5000}} +% \put(4.5000,-10.0000){\line(1,-1){1.5000}} +% \put(7.5000,-10.0000){\line(-1,-1){1.5000}} +% \put(7.5000,-10.0000){\line(-1,1){1.5000}} +% \put(4.5000,-11.5000){\makebox(3.0000,3.0000)[c]{\shortstack[c]{ +% \texttt{paper}? +% }}} +% \put(7.5000,-9.5500){\makebox(0,0)[lt]{No}} +% \put(6.4500,-11.5000){\makebox(0,0)[lb]{Yes}} +% \put(7.5000,-10.0000){\vector(1,0){1.0000}} +% \put(8.5000,-11.0000){\framebox(4.0000,2.0000)[c]{\shortstack[c]{ +% \texttt{article} or\\ +% \texttt{note} code +% }}} +% \put(10.5000,-11.0000){\vector(0,-1){1.0000}} +% \put(9.0000,-13.5000){\line(1,1){1.5000}} +% \put(9.0000,-13.5000){\line(1,-1){1.5000}} +% \put(12.0000,-13.5000){\line(-1,-1){1.5000}} +% \put(12.0000,-13.5000){\line(-1,1){1.5000}} +% \put(9.0000,-15.0000){\makebox(3.0000,3.0000)[c]{\shortstack[c]{ +% \texttt{article}? +% }}} +% \put(12.0000,-13.0500){\makebox(0,0)[lt]{No}} +% \put(10.9500,-15.0000){\makebox(0,0)[lb]{Yes}} +% \put(12.0000,-13.5000){\vector(1,0){1.0000}} +% \put(13.0000,-14.5000){\framebox(2.0000,2.0000)[c]{\shortstack[c]{ +% \texttt{note}\\ +% code +% }}} +% \put(14.0000,-14.5000){\vector(0,-1){1.0000}} +% \put(14.0000,-16.0000){\oval(2.0000,1.0000)} +% \put(13.0000,-16.5000){\makebox(2.0000,1.0000)[c]{\shortstack[c]{ +% done +% }}} +% \put(10.5000,-15.0000){\vector(0,-1){1.0000}} +% \put(9.0000,-18.0000){\framebox(3.0000,2.0000)[c]{\shortstack[c]{ +% \texttt{article}\\ +% code +% }}} +% \put(10.5000,-18.0000){\vector(0,-1){1.0000}} +% \put(10.5000,-19.5000){\oval(2.0000,1.0000)} +% \put(9.5000,-20.0000){\makebox(2.0000,1.0000)[c]{\shortstack[c]{ +% done +% }}} +% \put(6.0000,-11.5000){\vector(0,-1){1.0000}} +% \put(5.0000,-14.5000){\framebox(2.0000,2.0000)[c]{\shortstack[c]{ +% \texttt{paper}\\ +% code +% }}} +% \put(6.0000,-14.5000){\vector(0,-1){1.0000}} +% \put(6.0000,-16.0000){\oval(2.0000,1.0000)} +% \put(5.0000,-16.5000){\makebox(2.0000,1.0000)[c]{\shortstack[c]{ +% done +% }}} +% \end{picture}\\ +% This does not mean the code as a whole is organized according +% to this; but, rather this is the case for each +% macro/environment defined. +% +% First, the package is to identify itself: +% \begin{macrocode} +% +%<*class> +% +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesClass{aiaa}[1999/02/22 v2.4 AIAA document class] +% \end{macrocode} +% Flags +% \begin{macrocode} +\newif\if@submit +\newif\if@paper +\newif\if@article +\newif\if@note +\newif\if@cover +% \end{macrocode} +% Default settings +% \begin{macrocode} +\@submitfalse +\@papertrue +\@articlefalse +\@notefalse +\@coverfalse +% \end{macrocode} +% declaration of options +% Note that options will be processed in order of the |\DeclareOption| +% commands in this file, so since we want submit to take precedence +% over all the other options, we process it last. Note also that +% all flags are reset with each option, so that they are +% independent of the defaults. +% \begin{macrocode} +\DeclareOption{note}{\@notetrue\@articlefalse\@submitfalse\@paperfalse} +\DeclareOption{article}{\@articletrue\@notefalse\@paperfalse\@submitfalse} +\DeclareOption{paper}{\@papertrue\@articlefalse\@notefalse\@submitfalse} +\DeclareOption{submit}{\@submittrue\@paperfalse\@articlefalse} +\DeclareOption{cover}{\@covertrue} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}% + \typeout{NOTE: Passing ``\CurrentOption" option on to the + standard LaTeX article class}} +% \end{macrocode} +% actually process the options +% \begin{macrocode} +\ProcessOptions +\typeout{} +\if@submit% + \typeout{NOTE: aiaa journal submission mode + - all other aiaa options ignored} +\else% paper, article, or note + \if@paper% + \typeout{TYPESETTING in AIAA conference PAPER format ...} + \else% article or note + \if@article% + \typeout{TYPESETTING in AIAA journal ARTICLE simulation format ...} + \else% note + \typeout{TYPESETTING in AIAA journal NOTE simulation ...} + \fi + \fi +\fi +\typeout{} +% \end{macrocode} +% load the \LaTeX{} standard article class with |twoside| and +% |twocolumn| for all but the submit option. For a journal article +% or note, also load the aiaa9pt package. +% \begin{macrocode} +\if@submit% + \LoadClass[12pt]{article}% + \RequirePackage[noheads,tablesfirst,nomarkers]{endfloat}% + \RequirePackage{setspace}% + \RequirePackage{lastpage}% +\else% paper, article or note + \LoadClass[twoside,twocolumn]{article}% + \RequirePackage[dvips]{dropping}% dvips set to make compatible with pdflatex + \RequirePackage{lastpage}% + \if@paper% + \relax% + \else% article or note + \RequirePackage{aiaa9pt}% + \fi% +\fi +% \end{macrocode} +% packages used by this class for all options +% \begin{macrocode} +\RequirePackage{graphicx} +\RequirePackage{overcite} +\RequirePackage{caption2} +\RequirePackage{fancyhdr} +\RequirePackage{subfigure}[1995/03/06] +%\RequirePackage[bf]{subfigure}[199!/??/??] % when new version comes out +% \end{macrocode} +% +% main code +% +% page sizes: +% \begin{macrocode} +\if@submit + \setlength{\topmargin}{-0.25in} + \setlength{\headsep}{9.5pt} + \setlength{\textheight}{9in} + \setlength{\textwidth}{6.5in} + \setlength{\oddsidemargin}{0.0in} + \AtBeginDocument{\onehalfspacing}% turn on `doublespacing' +\else% paper, article, or note + \setlength{\topmargin}{-0.75in} + \if@paper + \setlength{\headsep}{9.5pt} + \setlength{\textheight}{9.5in} + \setlength{\textwidth}{6.75in} + \setlength{\columnsep}{0.25in} + \setlength{\footskip}{0.25in} + \else% article or note + \setlength{\topmargin}{-0.75in} + \setlength{\headsep}{10pt} + \setlength{\footskip}{16pt} + \setlength{\textheight}{10in} + \setlength{\textwidth}{7in} + \setlength{\columnsep}{0.375in} + \setlength{\oddsidemargin}{-0.25in} + \renewcommand{\baselinestretch}{0.9} + \fi + \setlength{\evensidemargin}{\oddsidemargin} +\fi +% \end{macrocode} +% +% \begin{macro}{\SubmitName} +% \begin{macro}{\PaperNumber} +% \begin{macro}{\ArticleHeader} +% \begin{macro}{\ArticleIssue} +% \begin{macro}{\JournalName} +% \begin{macro}{\JournalIssue} +% \begin{macro}{\JournalPage} +% \begin{macro}{\NoteHeader} +% various macros +% \begin{macrocode} +\newcommand*{\SubmitName}[1]% + {\def\AA@submitname{#1}} +\newcommand*{\PaperNumber}[1]% + {\def\AA@papernumber{#1}} +\newcommand*{\ArticleHeader}[1]% + {\def\AA@articleheader{#1}} +\newcommand*{\ArticleIssue}[1]% + {\def\AA@articleissue{#1}} +\newcommand*{\JournalName}[1]% + {\def\AA@journalname{#1}} +\newcommand*{\JournalIssue}[1]% + {\def\AA@journalissue{#1}} +\newcounter{AA@journalpage} +\newcommand*{\JournalPage}[1]% + {\setcounter{AA@journalpage}{#1}} +\newcommand*{\NoteHeader}[1]% + {\def\AA@noteheader{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% initialize them +% \begin{macrocode} +\SubmitName{} +\PaperNumber{} +\ArticleHeader{} +\ArticleIssue{} +\JournalName{} +\JournalIssue{} +\NoteHeader{} +\setcounter{AA@journalpage}{1} +% \end{macrocode} +% fancy headers/footers: +% \begin{macrocode} +\pagestyle{fancy}% note: must be issued after any \textwidth command +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +\fancyhf{} % clear all footers and headers +\if@submit + \rfoot{\footnotesize\scshape\thepage\ of \pageref{LastPage}} + \lfoot{\footnotesize\scshape\AA@submitname} +\else% paper, article, or note + \if@paper + \cfoot{\footnotesize\scshape\thepage\ of \pageref{LastPage} + \ifx\AA@papernumber\@empty\relax\else\\ + \rule[.2\baselineskip]{0.5in}{0.2pt}\\ + American Institute of Aeronautics + and Astronautics Paper \AA@papernumber\fi} + \else% article or note + \if@article + \chead{\footnotesize\scshape\MakeUppercase{\AA@articleheader}} + \fancyhead[RO,LE]{\footnotesize\thepage} + \fancypagestyle{plain}{% + \fancyhf{} + \lhead{\ifx\AA@journalname\@empty\relax\else + \footnotesize{\scshape\AA@journalname}\\ + \AA@articleissue\fi} + \cfoot{\footnotesize\thepage}} + \else% note + \chead[\footnotesize\scshape\AA@noteheader]% + {\footnotesize\scshape\AA@noteheader} + \rhead[]{\footnotesize \thepage} + \lhead[\footnotesize \thepage]{} + \fi + \fi +\fi +% \end{macrocode} +% \begin{macro}{\abstract} +% Redefine the |\abstract| command and load the date with nothing +% \begin{macrocode} +\renewcommand{\abstract}[1]% + {\def\@abstract{#1}} +\abstract{} +\let\@date\@empty +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\dropword} +% macro to drop first letter of word and capitalize the remaining +% portion, thanks to jeroen nijhof |<nijhof@th.rug.nl>| +% +% use:\\ +% | \dropword| word with rest of sentence or newline or whatever... +% \begin{macrocode} +\if@submit% + \def\dropword{} +\else + \def\dropword#1#2 {\dropping{2}{\bfseries{} #1}\MakeUppercase{#2} }% spaces important! +\fi +% \end{macrocode} +% \end{macro} +% +% increase penalty (x10) for consecutive lines ending in hyphens: +% \begin{macrocode} +\doublehyphendemerits=100000 +% \end{macrocode} +% ignore small line overfull errors: +% \begin{macrocode} +\setlength\hfuzz{3pt}% reduce the quantity of overfull warnings +% \end{macrocode} +% +% \begin{macro}{\makecover} +% \begin{macro}{\Conference} +% The command |\makecover| is used to make a cover for a +% AIAA conference paper or a simulated journal reprint. +% It is only active when the |submit| option is not in effect +% The |\makenotice| command is used to create the footnote +% containing copyright and other information about the document. +% The commands |\makecover| and |\makenotice| are internally +% called by the |\maketitle| command and are constructed +% similarly to the |\maketitle| command, in that |\makecover| uses +% information supplied by the commands described in the previous +% section, and |\makenotice| incorporates one of the appropriate +% |\_____Notice| commands. +% \begin{macrocode} +\newcommand{\Conference}[1]{\def\AA@conference{#1}} +\Conference{} +\newcommand{\CoverFigure}[1]{\def\AA@coverfigure{#1}} +\CoverFigure{} +\if@submit% + \newcommand{\makecover}{} +\else% paper, article, or note + \newcommand{\makecover}{% + \begin{titlepage} + \let\AA@sfdefault\sfdefault% save normal fonts + \let\AA@rmdefault\rmdefault + \let\AA@ttdefault\ttdefault + \renewcommand{\sfdefault}{phv}% change to new fonts + \renewcommand{\rmdefault}{ptm} + \renewcommand{\ttdefault}{pcr} + \enlargethispage{1in} + \setcounter{page}{0} + \renewcommand\thanks[1]{}% locally kill the \thanks{} command + \renewcommand\thanksibid[1]{}% kill the ibid version too + \setlength{\unitlength}{1in}% unit of measure for the picture + \begin{picture}(7.5,9)(0.45,0.495)% start a 7-1/2'' x 9'' picture: + \if@paper% + \linethickness{4pt} + \put(0,0){\framebox(7.45,8.95){}}% make a framed box accounting + % for line thickness + \linethickness{0.5pt} + \renewcommand{\and}{\relax} + \put(-0.07,8.7){\incfig[width=3in]{aiaalgo}}% aiaa logo at top left + \put(1.2,8.0)% paper number, title, author/location + {\makebox(0,0)[tl]{\parbox{5in} + {\raggedright\sffamily\bfseries + \Huge AIAA \AA@papernumber% paper number + \\[5pt] + \huge\@title% title + \\[5pt] + \Large\mdseries\@author}}}% author/location + \ifx\AA@coverfigure\@empty% optional figure + \relax + \else + \put(3.725,1.7){\makebox(0,0)[b]{% + \includegraphics[width=5in,height=4in]% + {\AA@coverfigure}}}% + \fi + \put(3.725,0.05){\makebox(0,0)[b]{\parbox{7.45in}% meeting, location, and date + {\centering\Huge\bfseries\sffamily% + \AA@conference}}} + \put(-0.055,-0.36){\parbox[t]{7.5in}% notice + {\normalsize\sffamily\bfseries + For permission to copy or republish, contact the + American Institute of Aeronautics and Astronautics\\ + 1801 Alexander Bell Drive, Suite 500, Reston, VA 20191--4344}} + \else% article, or note + \put(0.7,7.75)% title and authors + {\makebox(0,0)[tl]{\parbox{6.5in} + {\raggedright\sffamily\bfseries + \huge\@title% + \\[5pt] + \Large\mdseries\@author}}} + \ifx\AA@journalname\@empty\relax\else + \put(0.7,1.9){\makebox(0,0)[tl]{\parbox{7.5in}% journal/issue + {\raggedright\bfseries\sffamily + Simulated Reprint for\\ + \Huge% + \AA@journalname\\ + \small\mdseries + \ifx\AA@journalissue\@empty% + \relax + \else% + \AA@journalissue, + \fi + Pages \theAA@journalpage--\pageref{LastPage}}}}\fi + \put(0.5,0.45){\incfig[width=1in]{aiaalgo}}% aiaa logo at bottom left + \put(0.7,0.3)% notice + {\makebox(0,0)[tl]{\parbox{6.5in} + {\sffamily + \slshape A publication of the\\ + \upshape American Institute of Aeronautics and Astronautics, Inc.\\ + 1801 Alexander Bell Drive, Suite 500\\ + Reston, VA 20191--4344}}} + \fi + \end{picture} + \renewcommand\sfdefault{\AA@sfdefault} + \renewcommand\rmdefault{\AA@rmdefault} + \renewcommand\ttdefault{\AA@ttdefault} + \end{titlepage}} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\PaperNotice} +% \begin{macro}{\JournalNotice} +% \begin{macro}{\makenotice} +% the footnote notice maker +% \begin{macrocode} +\newcommand{\PaperNotice}[1]{\def\AA@papernotice{\scriptsize #1}} +\PaperNotice{} +\newcommand{\JournalNotice}[1]{\def\AA@journalnotice{\scriptsize #1}} +\JournalNotice{} +\if@submit% + \newcommand\makenotice{}% +\else% paper, article, or note + \newcommand\makenotice{% + \begingroup + \renewcommand\thefootnote{} + \if@paper% + \ifx\AA@papernotice\@empty\else\footnotetext{\AA@papernotice}\fi + \else% article or note + \ifx\AA@journalnotice\@empty\else\footnotetext{\AA@journalnotice}\fi + \fi% + \endgroup +% \renewcommand{\thefootnote}{\arabic{footnote}}% + } +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\CopyrightA} +% \begin{macro}{\CopyrightB} +% \begin{macro}{\CopyrightC} +% \begin{macro}{\CopyrightD} +% load copyright commands +% \begin{macrocode} +\newcommand{\CopyrightA}[1]{Copyright \copyright\ #1 by the + American Institute of Aeronautics and Astronautics, Inc. All + rights reserved.} +\newcommand{\CopyrightB}[2]{Copyright \copyright\ #1 by + #2. Published by the American Institute of Aeronautics + and Astronautics, Inc.\ with permission.} +\newcommand{\CopyrightC}{This paper is a work of the U.S. + Government and is not subject to copyright protection in the + United States.} +\newcommand{\CopyrightD}[1]{Copyright \copyright\ #1 by the + American Institute of Aeronautics and Astronautics, Inc. No + copyright is asserted in the United States under Title 17, + U.S. Code. The U.S. Government has a royalty-free license to + exercise all rights under the copyright claimed herein for + Governmental Purposes. All other rights are reserved by the + copyright owner.} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% modify float captions +% \begin{macrocode} +\if@submit + \renewcommand\figurename{Figure} + \renewcommand\captionlabeldelim{:\hspace{1em}} +\else% paper, article, or note + \renewcommand\figurename{Fig.}% change to the ugly, silly + % abbreviatation as per aiaa---saves + % all of two characters !? + \renewcommand\captionlabeldelim{~~} +\fi +\renewcommand\captionfont{\small\bfseries} +\renewcommand\p@subfigure{\thefigure(} +\renewcommand\thesubfigure{\alph{subfigure})} +\renewcommand\subcaplabelfont{\captionfont} +\renewcommand{\subfigcapmargin}{2pt} +\if@submit + \relax +\else + \setlength{\abovecaptionskip}{ 6pt plus 2pt minus 2pt} + \setlength{\belowcaptionskip}{ 3pt plus 1pt minus 1pt}% note good for tables! + \renewcommand{\subfigcapskip}{.2\abovecaptionskip}% seem to + \renewcommand{\subfigbottomskip}{.7\belowcaptionskip}% have no effect? +\fi +% \end{macrocode} +% modify float spacing or, if we're submitting something, +% the behavior of the |endfloat| package. +% \begin{macrocode} +\if@submit% modify endfloat behaviour + \InputIfFileExists{aiaaenf.cfg}{\typeout{loading aiaaenf.cfg}}% + {\typeout{WARNING: endfloat behavior will not + be as advertised since aiaaenf.cfg + was not found.}} +\else% modify float spacing + \renewcommand{\topfraction}{0.9} + \renewcommand{\bottomfraction}{0.9} + \renewcommand{\textfraction}{0.1} + \renewcommand{\floatpagefraction}{0.8}% 0.5 is the default + \renewcommand{\dbltopfraction}{\floatpagefraction} + \renewcommand{\dblfloatpagefraction}{\floatpagefraction} + \setcounter{topnumber}{10} + \setcounter{dbltopnumber}{\value{topnumber}} + \setcounter{bottomnumber}{\value{topnumber}} + \setcounter{totalnumber}{\value{topnumber}} + \addtocounter{totalnumber}{\value{bottomnumber}} + \setlength{\floatsep} { 5pt plus 2pt minus 2pt} + \setlength{\textfloatsep} { 5pt plus 2pt minus 3pt} + \setlength{\intextsep} { 5pt plus 2pt minus 2pt} + \setlength{\dblfloatsep} {\floatsep} + \setlength{\dbltextfloatsep} {\textfloatsep} +\fi +% \end{macrocode} +% modifying bibliography output +% \begin{macrocode} +\renewcommand{\@biblabel}[1]{$^{#1}$} +\renewenvironment{thebibliography}[1]% + {\section*{\refname\@mkboth{\MakeUppercase\refname}% + {\MakeUppercase\refname}}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\setlength{\leftmargin}{0pt}% + \settowidth{\labelwidth}{\@biblabel{#1}}% + \setlength{\itemindent}{\parindent}% + \advance\itemindent by \labelwidth% + \setlength{\labelsep}{0.0em}% + \setlength{\itemsep}{-\smallskipamount}% + \@openbib@code% + \usecounter{enumiv}% + \let\p@enumiv\@empty% + \renewcommand\theenumiv{\@arabic\c@enumiv}% + \if@submit% + \normalsize% + \else% + \footnotesize% + \fi} + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% +% \begin{macro}{\thanksibid} +% Define a command that is used in conjunction with the +% |\thanks| command. It is used for the special case +% where the argument of the |\thanks| for one author is +% the same as another.\footnote{Hence, the use of the latin {\it ibid}, +% short for {\it ibidem}, meaning the same as.} +% \begin{macrocode} +\newcounter{ibid} +\newcounter{tempcnt} +\newcommand{\thanksibid}[1]{% + \begingroup + \setcounter{tempcnt}{\value{footnote}}% + \setcounter{ibid}{#1}% + \def\thefootnote{\fnsymbol{ibid}}% + \footnotemark% + \setcounter{footnote}{\value{tempcnt}}% + \endgroup +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\incfig} +% define command that picks-up the current line width +% for automatic figure sizing +% \begin{macrocode} +\newcommand{\incfig}{\centering\includegraphics} +\setkeys{Gin}{width=\linewidth,keepaspectratio} +\if@submit% + \setkeys{Gin}{totalheight=0.35\textheight} +\else% paper, article, or note + \relax +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{subfigmatrix} +% Define command that makes subfigure `tables'. +% +% \begin{macrocode} +% 27 Feb 1997 Steven Douglas Cochran - Created. +% 28 Feb 1997 Bil Kleb - modified to not use minipages +% Define and initialize the internal variables. +% +\newlength{\sfm@width}% Subfigure width +\newlength{\sfm@colsep}% Subfigure column separation +\setlength{\sfm@colsep}{2\tabcolsep}% Use twice tabular column separation +\newcounter{sfm@count}% Item count +\newenvironment{subfigmatrix}[1]{% + \begingroup% + \centering% + \vspace*{-\subfigtopskip}% remove the vertical spacing inserted + % by the subfigure package + % + % Save the "real" subfigure macro and start the item counter off + % at -1 to detect the first item. + % Set the \sfm@width to the single element size. + % + \let\sfm@subfigure\subfigure% + \setcounter{sfm@count}{-1}% + \setlength{\sfm@width}{\linewidth}% + \addtolength{\sfm@width}{\sfm@colsep}% + \addtolength{\sfm@width}{-#1\sfm@colsep}% + \divide\sfm@width by#1 + \setkeys{Gin}{width=\sfm@width,keepaspectratio}% + % + % Redefine the \subfigure and \subtable macros locally to this + % environment so that we can wrap them with minipages. + % + \def\subfigure{% try the transpose + \ifnum \value{sfm@count} = -1 + % very first item + \setcounter{sfm@count}{1}% + \else% Not very first item + \addtocounter{sfm@count}{1}% + \ifnum \value{sfm@count} = 1 + % Beginning of next column, finish the last column. + \\% + \else% + % middle or last item + \hfill% + \ifnum #1 = \value{sfm@count}% + % Reset the counter of at the end of the row. + \setcounter{sfm@count}{0}% + \fi% + \fi% + \fi% + \sfm@subfigure}% + \let\subtable\subfigure% + }{% + \\% + \endgroup}% +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\maketitle} +% change maketitle behavior to preserve twocolumn mode for +% journal note, to create a cover page if appropriate, and make +% the copyright-style notices about the document. +% \begin{macrocode} +\if@paper + \renewcommand{\and}{\\[-.9\baselineskip]} +\else + \renewcommand{\and}{\\*[-8pt]} +\fi +\renewcommand{\maketitle}{% + \if@cover + \makecover + \else + \relax + \fi + \par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \global\@topnum\z@ % Prevents figures from going at top of page. + \if@submit% + \@maketitle% + \else% paper, article, or note + \if@note% + \@maketitle% + \else% paper article -- should already be in twocolumn mode + \ifnum \col@number=\@ne% if in column one, good: + \@maketitle + \else% not in column one, so start new page: + \twocolumn[\@maketitle] + \fi + \if@article% + \thispagestyle{plain} + \fi + \fi + \fi + \@thanks + \endgroup + \suppressfloats + \setcounter{footnote}{0}% + \if@submit% submission + \relax + \else% paper, article, or note: + \if@paper + \relax + \else% article or note: + \setcounter{page}{\theAA@journalpage} + \fi + \fi + \makenotice + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@abstract\@empty + \global\let\@thanks\@empty + \global\let\thanks\relax + \global\let\@author\@empty + \global\let\author\relax + \global\let\@title\@empty + \global\let\title\relax + \global\let\@date\@empty + \global\let\abstract\relax + \global\let\date\relax +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@maketitle} +% modify the fonts used for the title, etc +% \begin{macrocode} +\def\@maketitle{% + \newpage + \begin{center}% + \let \footnote \thanks + {\huge\bf \@title \par}% + \vskip 1.5em% + {\lineskip .5em% + \large% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + \if@submit + \relax + \else% paper, article, or note + \if@note + \relax + \else% paper or article + \newenvironment{AA@abstract} + {\list{}{\listparindent 1.5em% + \itemindent \listparindent + \leftmargin 0.75in% + \rightmargin \leftmargin + \parsep \z@ \@plus \p@}% + \item\relax} + {\endlist} + \ifx\@abstract\@empty + \relax + \else + \begin{AA@abstract} + \footnotesize\textbf\@abstract + \end{AA@abstract} + \fi + \fi + \fi + \end{center}% + \if@submit% + \ifx\@abstract\@empty + \relax + \else% + \section{Abstract} \@abstract% + \fi + \else% paper, article, or note + \par% + \if@note% + \vskip -\medskipamount% + \else% + \vskip 1em% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro} +% modify the section headers +% \begin{macrocode} +\setcounter{secnumdepth}{-2}% instead of having to use the *'d + % section commands +% \end{macrocode} +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand\section{\@startsection + {section}% % section name + {1}% % level + {\z@}% % indentation of heading + {1.8ex}% % before skip (neg, no parindent) + {0.5ex}% % after skip (neg, run-on heading space) + {\normalfont\center\large\bfseries}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand\subsection{\@startsection{subsection}{2}% + {\z@}% + {1.5ex}% + {0.5ex}% + {\normalfont\small\bfseries\raggedright}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\subsubsection} +% \begin{macrocode} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}% + {\z@}% + {1.5ex}% + {0.5ex}% + {\normalfont\normalsize\itshape\raggedright}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\paragraph} +% \begin{macrocode} +\renewcommand\paragraph{\@startsection{paragraph}{4}% + {\parindent}% + {0.3ex}% + {-1em}% + {\normalfont\normalsize\sffamily}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\subparagraph} +% \begin{macrocode} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}% + {\parindent}% + {0.3ex}% + {-1em}% + {\normalfont\normalsize\itshape}} +% \end{macrocode} +% \end{macro} +% list files used during job: +% \begin{macrocode} +\listfiles +% +%</class> +% +% \end{macrocode} +% +% This brings us to the end of \cls{aiaa.cls}. +% +% \subsection{The 9pt style file} +% +% This is the package \pkg{aiaa9pt.sty}, it provides 9pt font settings +% for simulation of journal articles/notes. It is essentially +% a hack of size10.clo (a the standard \LaTeX{} class option). +% +% \begin{macrocode} +% +%<*style> +% +\ProvidesFile{aiaa9pt.sty} + [1999/02/22 v2.4 AIAA style file (9pt option)] +\renewcommand\normalsize{% + \@setfontsize\normalsize\@ixpt\@xipt + \abovedisplayskip 9\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\normalsize +\renewcommand\small{% + \@setfontsize\small\@viiipt\@xpt% + \abovedisplayskip 7\p@ \@plus2\p@ \@minus3\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 3\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus2\p@ \@minus2\p@ + \parsep \p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\footnotesize{% + \@setfontsize\footnotesize\@viipt{8.3}% + \abovedisplayskip 4\p@ \@plus2\p@ \@minus3\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 2\p@ \@plus\p@ \@minus\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\scriptsize{\@setfontsize\scriptsize\@vipt\@viipt} +\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vpt} +\renewcommand\large{\@setfontsize\large\@xipt{13.6}} +\renewcommand\Large{\@setfontsize\Large\@xivpt{18}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} +\renewcommand\huge{\@setfontsize\huge\@xxpt{25}} +\renewcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} +\if@twocolumn + \setlength\parindent{1em} +\else + \setlength\parindent{13\p@} +\fi +\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@} +\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\headheight{12\p@} +\setlength\headsep {25\p@} +\setlength\topskip {9\p@} +\setlength\footskip{30\p@} +\setlength\maxdepth{.5\topskip} + \setlength\@tempdima{\paperwidth} + \addtolength\@tempdima{-2in} + \setlength\@tempdimb{345\p@} + \if@twocolumn + \ifdim\@tempdima>2\@tempdimb\relax + \setlength\textwidth{2\@tempdimb} + \else + \setlength\textwidth{\@tempdima} + \fi + \else + \ifdim\@tempdima>\@tempdimb\relax + \setlength\textwidth{\@tempdimb} + \else + \setlength\textwidth{\@tempdima} + \fi + \fi + \@settopoint\textwidth + \setlength\@tempdima{\paperheight} + \addtolength\@tempdima{-2in} + \addtolength\@tempdima{-1.5in} + \divide\@tempdima\baselineskip + \@tempcnta=\@tempdima + \setlength\textheight{\@tempcnta\baselineskip} +\addtolength\textheight{\topskip} +\if@twocolumn + \setlength\marginparsep {10\p@} +\else + \setlength\marginparsep{11\p@} +\fi +\setlength\marginparpush{5\p@} + \if@twoside + \setlength\@tempdima {\paperwidth} + \addtolength\@tempdima {-\textwidth} + \setlength\oddsidemargin {.4\@tempdima} + \addtolength\oddsidemargin {-1in} + \setlength\marginparwidth {.6\@tempdima} + \addtolength\marginparwidth {-\marginparsep} + \addtolength\marginparwidth {-0.4in} + \else + \setlength\@tempdima {\paperwidth} + \addtolength\@tempdima {-\textwidth} + \setlength\oddsidemargin {.5\@tempdima} + \addtolength\oddsidemargin {-1in} + \setlength\marginparwidth {.5\@tempdima} + \addtolength\marginparwidth {-\marginparsep} + \addtolength\marginparwidth {-0.4in} + \addtolength\marginparwidth {-.4in} + \fi + \ifdim \marginparwidth >2in + \setlength\marginparwidth{2in} + \fi + \@settopoint\oddsidemargin + \@settopoint\marginparwidth + \setlength\evensidemargin {\paperwidth} + \addtolength\evensidemargin{-2in} + \addtolength\evensidemargin{-\textwidth} + \addtolength\evensidemargin{-\oddsidemargin} + \@settopoint\evensidemargin + \setlength\topmargin{\paperheight} + \addtolength\topmargin{-2in} + \addtolength\topmargin{-\headheight} + \addtolength\topmargin{-\headsep} + \addtolength\topmargin{-\textheight} + \addtolength\topmargin{-\footskip} % this might be wrong! + \addtolength\topmargin{-.5\topmargin} + \@settopoint\topmargin +\setlength\footnotesep{5.755\p@} +\setlength{\skip\footins}{9.5\p@ \@plus 4\p@ \@minus 2\p@} +\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\@fptop{0\p@ \@plus 1fil} +\setlength\@fpsep{8\p@ \@plus 2fil} +\setlength\@fpbot{0\p@ \@plus 1fil} +\setlength\@dblfptop{0\p@ \@plus 1fil} +\setlength\@dblfpsep{8\p@ \@plus 2fil} +\setlength\@dblfpbot{0\p@ \@plus 1fil} +\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep4\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 4\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +%</style> +% +% \end{macrocode} +% +% This brings us to the end of \pkg{aiaa9pt.sty}. +% +% \subsection{AIAA Bibliographic Style File} +% +% \begin{macrocode} +% +%<*bibstyle> +% +% note: this file generated by p. daly's custom-bib software +% +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.editors} +{ "editors" } + +FUNCTION {bbl.editor} +{ "editor" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "No." } + +FUNCTION {bbl.nr} +{ "No." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {jan-feb} {"Jan.-Feb."} + +MACRO {mar-apr} {"Mar.-Apr."} + +MACRO {may-jun} {"May-Jun."} + +MACRO {jul-aug} {"Jul.-Aug."} + +MACRO {sep-oct} {"Sep.-Oct."} + +MACRO {nov-dec} {"Nov.-Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {jsr} {"Journal of Spacecraft and Rockets"} + +MACRO {aa} {"Aerospace America"} + +MACRO {sn} {"Space News"} + +MACRO {awst} {"Aviation Week \& Space Technology"} + +MACRO {jcp} {"Journal of Computational Physics"} + +MACRO {ijcfd} {"International Journal of Computational Fluid Dynamics"} + +MACRO {ijnme} {"International Journal for Numerical Methods in Engineering"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, jj}{, f.}" format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { bbl.and space.word * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.names.ed} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { bbl.and space.word * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { + author format.names + } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { + editor format.names + editor num.names$ #1 > + { ", " * bbl.editors * } + { ", " * bbl.editor * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { editor format.names.ed + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title + "\enquote{" swap$ * + non.stop + { ",} " * } + { "} " * } + if$ + } + if$ +} + +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ "" } + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.connect + series empty$ + 'skip$ + { bbl.of space.word * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in space.word * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ edition extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { convert.edition "l" change.case$ " " * bbl.edition * } + { convert.edition "t" change.case$ " " * bbl.edition * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { bbl.pages pages n.dashify tie.or.space.connect } + { bbl.page pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.journal.pages} +{ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * bbl.pages "~" * * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + volume empty$ + 'skip$ + { bbl.volume "~" * swap$ * } + if$ + number empty$ + 'skip$ + { + ", " bbl.nr * number tie.or.space.connect * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle emphasize * } + { word.in booktitle emphasize * + ", " * + bbl.edby + * + " " * + format.in.editors * + } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { bbl.techrep } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ + key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { word.in journal emphasize * } + if$ + } + { word.in key * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + word.in + } + { bbl.volume volume tie.or.space.connect + bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { word.in booktitle emphasize * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.publisher} +{ publisher empty$ + { "empty publisher in " cite$ * warning$ } + 'skip$ + if$ + "" + address empty$ publisher empty$ and + 'skip$ + { + publisher empty$ + { address empty$ + 'skip$ + { address * } + if$ + } + { publisher * + address empty$ + 'skip$ + { ", " * address * } + if$ + } + if$ + } + if$ + output +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + end.quote.title + crossref missing$ + { journal + emphasize + "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.journal.pages + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher + } + { + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + format.title "title" output.check + end.quote.title + howpublished output + address output + format.date output + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + format.publisher + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + format.pages "pages" output.check + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + format.publisher + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + publisher empty$ + { organization output + address output + } + { organization output + format.publisher + } + if$ + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.pages "pages" output.check + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address output + } + 'skip$ + if$ + } + { + organization output + address output + } + if$ + format.edition output + format.date output + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + format.btitle "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.title output + end.quote.title + howpublished output + format.date output + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + format.btitle "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + end.quote.title + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + end.quote.title + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\newcommand{\enquote}[1]{``#1''}" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%</bibstyle> +% \end{macrocode} +% +% This brings us to the end of \file{aiaa.bst}. +% +% \subsection{AIAA Endfloat Configuration File} +% +% \begin{macrocode} +% +%<*enfconfig> + \renewcommand{\listfigurename}{List of Figure Captions} + \renewcommand{\listtablename}{List of Table Captions} + \setcounter{lofdepth}{2}% puts subfigure captions in lof + \def\numberline#1{\setlength{\@tempdima}{0.3in}% + \hb@xt@\@tempdima{#1:}}% make bold numbers + \renewcommand*{\l@figure}[2]{\vskip\abovedisplayskip% + \setlength\@tempdima{1.5em}% + \noindent{\bfseries \figurename\ #1}\par} + \renewcommand*{\l@table}[2]{% + \setlength\@tempdima{1.5em}% + \noindent{\bfseries \tablename}\ + #1\hfil\vskip\belowdisplayskip } +% change lof behavior for subfigures: + \renewcommand{\@dottedxxxline}[6]{% + \ifnum #2>\@nameuse{c@#1depth}\else + \vskip 3pt\hspace{0em}{\bfseries #5}\par\vskip 1pt + \fi} + \newcommand{\lox@subfigure}{\thesubfigure} + \newcommand{\lox@subtable}{\thesubtable} + \renewcommand{\@subcaption}[2]{% + \begingroup + \let\label\@gobble + \let\protect\string + \edef\@currentlabel{\csname lox@#1\endcsname}% + \xdef\@subfigcaptionlist{% + \@subfigcaptionlist,% + {\numberline{\@currentlabel}\noexpand{\ignorespaces #2}}}% + \endgroup + \@nameuse{@make#1caption}{\@nameuse{@the#1}}{#2}} + \renewcommand{\@makecaption}[2]{} + \renewcommand{\@makesubfigurecaption}[2]{} + \renewcommand{\@makesubtablecaption}[2]{} + \let\OrigCaption\caption + \renewcommand{\caption}[2][X]{\OrigCaption[#2]{}} + \newcommand{\processfigures@hooka}{\@empty} + \def\AtEndFigures{\g@addto@macro\processfigures@hooka} + \newcommand{\processtables@hooka}{\@empty} + \def\AtEndTables{\g@addto@macro\processtables@hooka} + \AtBeginTables{\cfoot{\footnotesize\scshape\tablename\ \thetable\captionlabeldelim}} + \AtEndTables{\cfoot{}} + \AtBeginFigures{\cfoot{\footnotesize\scshape\figurename\ \thefigure\captionlabeldelim}} + \AtEndFigures{\cfoot{}} + \def\processfigures{% + \expandafter\ifnum \csname @ef@fffopen\endcsname>0 + \immediate\closeout\efloat@postfff \ef@setct{fff}{0} + \clearpage % bj + \if@figlist % bj + {\normalsize\listoffigures} % bj + \clearpage % bj + \fi + \if@fighead + \section*{\figuresection} % bj + \suppressfloats[t] % jpg + \fi + \markboth{\uppercase{\figuresection}}{\uppercase{\figuresection}}% bj + \processfigures@hook \@input{\jobname.fff} \processfigures@hooka + \fi} + \def\processtables{% + \expandafter\ifnum \csname @ef@tttopen\endcsname>0 + \immediate\closeout\efloat@postttt \ef@setct{ttt}{0} + \clearpage % bj + \if@tablist % bj + {\normalsize\listoftables} % bj + \clearpage % bj + \fi + \if@tabhead + \section*{\tablesection} % bj + \suppressfloats[t] % jpg + \fi + \markboth{\uppercase{\tablesection}}{\uppercase{\tablesection}}% bj + \processtables@hook \@input{\jobname.ttt} \processtables@hooka + \fi} +%</enfconfig> +% \end{macrocode} +% +% This brings us to the end of \file{aiaaenf.cfg}. +% +% \Finale +% |