From 68b73becd636a53ab6b4a64690c2d14bc16509cc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:50:48 +0000 Subject: trunk/Master/texmf-dist/source/latex/aiaa git-svn-id: svn://tug.org/texlive/trunk@135 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/aiaa/aiaa.dtx | 2189 ++++++++++++++++++++++++++ Master/texmf-dist/source/latex/aiaa/aiaa.ins | 65 + 2 files changed, 2254 insertions(+) create mode 100644 Master/texmf-dist/source/latex/aiaa/aiaa.dtx create mode 100644 Master/texmf-dist/source/latex/aiaa/aiaa.ins diff --git a/Master/texmf-dist/source/latex/aiaa/aiaa.dtx b/Master/texmf-dist/source/latex/aiaa/aiaa.dtx new file mode 100644 index 00000000000..ab606fb7b2c --- /dev/null +++ b/Master/texmf-dist/source/latex/aiaa/aiaa.dtx @@ -0,0 +1,2189 @@ +% +% \iffalse +%% Description: LaTeX package for AIAA technical conference papers. +%% Keywords: LaTeX, class, AIAA, BibTeX, bibliographic-style +%% Author: Bil Kleb, Bill Wood, Erich Knausenberger +%% Maintainer: same +%% Version: 3.6 <23 May 2004> +%% +%% Run (PDF)LaTeX on `aiaa.dtx' to obtain a Users Manual and code +%% documentation. Note: to get detailed code documentation you need to +%% comment out the \OnlyDescription line in `aiaa.dtx'. +%% +%% See `aiaa.ins' and the Users Manual for installation instructions. +%% +% \fi +% +% \def\filename{aiaa.dtx} +% \def\fileversion{3.6} +% \def\filedate{2004/05/23} +% \def\docdate{\filedate} +% \date{\docdate} +% +% \newcommand*{\cls}[1]{\textsf{#1}} +% \newcommand*{\pkg}[1]{\textsf{#1}} +% \newcommand*{\file}[1]{\texttt{#1}} +% \newcommand*{\kbd}[1]{\texttt{#1}} +% +% \MakeShortVerb{\|} +% +% \CheckSum{524} +% +%% \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{% +% AIAA\thanks{American Institute of Aeronautics and Astronautics.}\ \ +% \LaTeX{} Package Users Manual\thanks{This document describes +% \textsf{aiaa} version \fileversion\ that came of age on \docdate.} +% } +% +% \author{% +% Bil Kleb\thanks{Research Scientist} +% \ and Bill Wood\textsuperscript{\ensuremath{\ddagger}}\\ +% {\normalsize\itshape NASA, Hampton, Viriginia}\\ +% \and +% Erich Knausenberger\thanks{Business Developer}\\ +% {\normalsize\itshape AIAA, Reston, Virginia} +% } +% +% \date{\vspace{-5ex}} +% +% \maketitle +% +% \begin{abstract} +% This document describes the \textsf{aiaa} \LaTeX\ package that +% provides a \LaTeX\ class (\file{aiaa-tc.cls}) and \BibTeX\ +% bibliography style file (\file{aiaa.bst}). +% The files in this package are used to create AIAA technical conference +% papers. +% The package also contains a users manual (you are looking at it) and +% two templates, a bare-bones sample and an advanced sample. +% \end{abstract} +% +% \tableofcontents +% +% \section{Introduction} +% +% The AIAA class works by loading the standard \LaTeX\ article class and +% several LaTeX packages, and then making modifications and extensions +% to suit the AIAA layout requirements.\footnote{% +% The older, unofficial AIAA distribution that yields two-column layout +% is available in the distribution's `pre2004' subdirectory.} +% The AIAA \BibTeX\ style file was created with Daly's makebst program +% and then tweaked according to AIAA conventions. +% In addition, abbreviations for the AIAA journals and more common +% aerospace journals were added. +% +% \subsection{Requirements} +% +% To make use of the AIAA technical conferenece paper class and process +% the AIAA bare-bones template, you will need the following files:\\[3pt] +% \begin{tabular}{llll} +% \cls{article.cls} &\pkg{graphicx.sty}&\pkg{array.sty} &\pkg{setspace.sty}\\ +% \pkg{overcite.sty}&\pkg{lastpage.sty}&\pkg{fancyhdr.sty} +% \end{tabular}\\[3pt] +% These should be included as part of your \TeX\ distribution. +% Note: \pkg{setspace} is only necessary if using the |submit| class +% option described below. +% +% To explore some of \LaTeX's more advanced features such as imbedded +% figures, tables with footnotes, hyperlinks, subfigures, dropped +% capitals at the beginning of paragraphs, automatic nomenclature +% collection and sorting, and bibliography generation that are +% demonstrated in the advanced template, you will need the following +% \LaTeX\ packages,\\[3pt] +% \begin{tabular}{rl} +% \pkg{ifthen} & plain text conditionals \\ +% \pkg{dcolumn} & decimal-aligned tabular math columns \\ +% \pkg{fancyvrb} & extended verbatim environments \\ +% \pkg{subfigure} & subcaptions for subfigures \\ +% \pkg{nomencl} & nomenclature generation via Makeindex \\ +% \pkg{hyperref} & hyperlinks such as email or URLs \\ +% \pkg{threeparttable} & tables with footnotes \\ +% \pkg{wrapfig} & integrate figures and tables in text +% (i.e., DiVinci style) \\ +% +% \pkg{lettrine} & dropped capital letter at beginning of paragraph \\ +% \pkg{subfigmat} & matrices of similar subfigures, aka small multiples \\ +% \pkg{dropping} & an alternative dropped capital letter package +% \end{tabular}\\[3pt] +% \noindent The above packages are ordered according to the likelihood +% that they are included with any given \TeX\ distribution. +% The last three you will most likely have to download from CTAN +% (\href{http://www.ctan.org}{www.ctan.org}) and add to your \TeX\ +% distribution according to its instructions for adding new packages, or +% just place them in your local working directory. +% Please see the Known Problems section before exploring the advanced example. +% +% \subsection{User's Manual} +% +% A PDF version of this Users Manual is provided as part of the distribution. +% It was created by processing \file{aiaa.dtx} with \kbd{pdflatex}. +% Of course a PostScript version can be made by using \kbd{latex}. +% +% If you are new to LaTeX, you should first read {\it A (not so) Short +% Introduction to \LaTeX, or \LaTeX\ in 131 minutes}, which is +% available in a variety of languages from the Comprehensive \TeX\ +% Archive Network (CTAN) website, +% \href{http://www.ctan.org/tex-archive/info/lshort/}% +% {www.ctan.org/tex-archive/info/lshort/}. +% +% \subsection{Installation and 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:\\[5pt] +% | ! Undefined control sequence|\\ +% | \batchLine -> generate|\\ +% | {\file {aiaa-tc.cls}{\from{aiaa.dtx}{class}}}|\\ +% | 1.728 \processbatchFile|\\[5pt] +% it means that your \pkg{docstrip} is very old and that you will need +% to update your \TeX\ distribution to take advantage of the AIAA package. +% +% Move \file{aiaa-tc.cls} 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/share/texmf/tex/latex/aiaa}\ for the entire site to +% use, remembering to run \kbd{texhash} to reconfigure te\TeX{} to +% search the new directory; or, a lowly user could make their own +% directory, 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 bare-bones template. +% It should produce something similar to the existing PDF copy. +% +% \section{Usage} +% +% The AIAA class is envoked by including\\[5pt] +% | \documentclass[|{\itshape options}|]{aiaa-tc}|\\[5pt] +% at the beginning of your document. +% The AIAA class recognizes a |handcarry| option that places paper +% number, conference information, and copyright information in the paper +% when hand carrying papers to a ``loose papers'' conference, and a +% `submit' option that increases font size and line spacing. +% Other cptions are passed on to \LaTeX's \cls{article} class that is +% subsequently loaded by the AIAA class.\footnote{% +% For example, the \kbd{draft} option replaces figures with a +% labeled box of the appropriate size and graphically depicts lines that +% overrun the right margin (overfull boxes).} +% The document is written just like one were using the standard \LaTeX{} +% \cls{article} document class; and thus, usage is well documented by +% others in various \LaTeX{} books~\cite{companion,guide,latex}. +% However, some of the stock 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 +% slightly differently in the \cls{aiaa-tc} 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 Standard Commands} +% +% \DescribeMacro{\date} +% \DescribeMacro{\maketitle} +% The \cls{aiaa-tc} class does not typeset the |\date| command as part of +% |\maketitle|. +% Standard \LaTeX{} behavior of |\maketitle| is to typeset the current +% date as part of the title section. +% one would have to issue a command like, |\date{\vspace{-5ex}}|, +% to eliminate the date and removed the space created for it. +% +% \DescribeEnv{abstract} +% The |abstract| environment has been redefined within the \cls{aiaa-tc} +% class to produce slightly different typesetting. +% It now produces an indented block of text set in a smaller, bold font. +% This environment should be placed after your |\maketitle|. +% +% \DescribeMacro{\section} +% \DescribeMacro{\subsection} +% \DescribeMacro{\subsubsection} +% \DescribeMacro{\paragraph} +% \DescribeMacro{\subparagraph} +% The counters, fonts, sizes, and positions normally produced by +% these commands have been modified to produce AIAA layout guidelines. +% +% \subsubsection{New Command} +% +% \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. For example,\\[3pt] +% | \author{%|\\ +% | Peter Gnoffo,%|\\ +% | \thanks{Title, department, address, and member grade.}|\\ +% | Bil Kleb,%|\\ +% | \thanks{Title, department B, address, and member grade.}|\\ +% | Bill Wood,%|\\ +% | \thanksibid{2}%| \textit{use the same footnote as the second author.}\\ +% | \ and|\\ +% | Marge Myth%|\\ +% | \thanks{Title, department C, address, and member grade.}|\\ +% | }|\\[3pt] +% Thus, |\thanksibid{2}| would only produce a footnote symbol +% at the end of Bill Wood's name and it would not generate +% any footnote text. +% 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. +% +% \subsection{Hand Carry Information} +% +% \DescribeMacro{handcarry} +% The following commands are used to load information that is +% used by the |handcarry| class option. +% For example,\\[3pt] +% | \documentclass[handcarry]{aiaa-tc}|\\[3pt] +% The following commands are used produce appropriate headers and footers +% All of these commands are normally set in the preamble +% of your document (similar to |\author| and |\title|).\footnote{% +% The preamble is defined as anywhere between the +% \cs{documentclass}\texttt{\string{\string}} and +% \cs{begin}\texttt{\string{document\string}} commands.} +% +% \DescribeMacro{\AIAApapernumber} +% \DescribeMacro{\AIAAconference} +% \DescribeMacro{\AIAAcopyright} +% The commands |\AIAApapernumber|, |\AIAAconference|, and |\AIAAcopyright| +% are used to put appropriate items in the header and footer of each page. +% The contents of |\AIAApapernumber| is placed in the footer while the +% contents of |\AIAAconference| is placed in the header. +% For example,\\[3pt] +% | \AIAAapernumber{2004-3932}|\\ +% | \AIAAConference{16th AIAA Fluid Dynamics Conference,|\\ +% | June 6--8, Portland, Oregon}|\\[3pt] +% A footnote describing the copyright conditions +% and other information about the document are incorporated via the +% |\AIAAcopyright|. +% This command should be loaded with 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:\\[3pt] +% | \AIAAcopyright{\CopyrightA{2004}}|\\[3pt] +% \DescribeMacro{\CopyrightA} +% \DescribeMacro{\CopyrightB} +% \DescribeMacro{\CopyrightC} +% \DescribeMacro{\CopyrightD} +% \DescribeMacro{\CopyrightDAPL} +% where the specific copyright commands will expand to one of the standard AIAA +% forms: A, B, C, D, or D-APL. +% Note: they each have different arguments, or no arguments, depending +% on their requirements,\\[3pt] +% | \CopyrightA{|\textit{year}|}|\\ +% | \CopyrightB{|\textit{year}|}{|\textit{full name or company}|}|\\ +% | \CopyrightC|\\ +% | \CopyrightD{|\textit{year}|}|\\ +% | \CopyrightDAPL{|\textit{year}|}|\\[3pt] +% See AIAA copyright instructions for which form to use. +% +% \subsection{Journal Submission} +% +% \DescribeMacro{submit} +% The |submit| option class option that is invoked as follows,\\[3pt] +% | \documentclass[submit]{aiaa-tc}|\\[3pt] +% \DescribeMacro{\AIAAsubmitinfo} +% will increase the font size and line spacing as well as place a +% running footer according to the contents of |\AIAAsubmitinfo|. +% For example,\\[3pt] +% | \AIAAsubmitinfo{Abbreviated Title, AuthorsLastName et al}|\\[3pt] +% will place an abbreviated title and the authors last name at the +% bottom of each page. +% +% \subsection{Making Modifications} +% +% If you feel the need to modify the behavior of items in +% \cls{aiaa-tc.cls}, simply cut the section you want to change and save +% it to a file named \file{myaiaamods.sty}. +% Then modify the code in \file{myaiaamods.sty} to suit your needs and +% include it in your document via |\usepackage{myaiaamods}| in the +% preamble. +% +% \subsection{Getting Help} +% +% For general questions related to AIAA papers, procedures, and guidelines, +% send email to +% \href{mailto:Paper_Tech_Support@AIAA.Org}{Paper\_Tech\_Support@AIAA.Org}. +% For help /specific/ to this AIAA \LaTeX\ distribution, send email to +% \href{mailto:LaTeX_Support@AIAA.Org}{LaTeX\_Support@AIAA.Org}. +% +% For general \LaTeX\ help, see the {\it The (not so) Short Introduction +% to \LaTeX} mentioned above, {\it \LaTeX: A Document Preparation +% System} (2nd ed.) by Lamport, and {\it The LaTeX Companion} (2nd ed.) +% by Mittelbach et al.~\cite{companion} +% For more specific \LaTeX\ help, do a Google `groups' search on the +% comp.text.tex USENET newsgroup and explore the \TeX\ User Group's frequently +% asked questions site last seen at +% \href{http://www.tex.ac.uk/cgi-bin/texfaq2html}% +% {www.tex.ac.uk/cgi-bin/texfaq2html}. +% If these avenues fail to answer your question, read +% \href{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}% +% {www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion} +% and post a question to the \href{news:comp.text.tex}{comp.text.tex} +% USENET newsgroup. +% (Posting is available through \href{http://www.google.com/}{Google}.) +% +% For an extensive guide to using Encapsulated PostScript in \LaTeX, see +% Keith Reckdahl's \file{epslatex} document available from CTAN's \file{info} +% directory, +% \href{http://www.ctan.org/tex-archive/info/}{www.ctan.org/tex-archive/info/} +% or various \LaTeX{} reference books. +% +% Especially helpful in locating various \LaTeX{} packages is +% the \kbd{Catalogue.html} web page found in the \file{help/Catalogue} +% directory of CTAN. +% +% \subsection{Known Problems} +% +% 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, +% 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. +% +% To typeset the advanced example, you will need a fairly complete \LaTeX{} +% distribution, and even then you will probably need to download packages +% like \pkg{dropping} or \pkg{lettine} as described in the Requirements +% section. +% Also, some packages will need to be newer than 2002 or so. +% For example, older versions of the \pkg{nomenclature} package will +% given an error like\\[3pt] +% | ! Undefined control sequence.| +% | \nomitemsep | +% while older versions of the \pkg{geometry} package will give\\[3pt] +% | ERROR: Package keyval Error: No value specified for paper.| +% +% \subsection{Sending a Bug Report} +% +% Reports of bugs in the AIAA package are most welcome. +% Before filing a bug report, please take the following actions: +% \begin{enumerate} +% \item Verify your problem is not due to your own input file(s) +% styles sheet(s), or package(s); +% \item Check to see if your problem is documented in the preceeding +% section; +% \item Try to isolate the problem by writing a {\it minimal} \LaTeX\ +% input file which reproduces the unexpected behavior and then: +% \begin{enumerate} +% \item Include the command\\ +% | \setcounter{errorcontextlines}{50}|\\ +% in the preamble of your document 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: +% \href{mailto:LaTeX_Support@AIAA.Org?subject=bug}% +% {LaTeX\_Support@AIAA.Org}. +% \end{enumerate} +% \end{enumerate} +% +% \section{Acknowledgments} +% +% Foremost, the authors would like to thank all of those that took the +% time to ask questions, give comments, or provide suggestions: +% Karen Bibb, Steve Alter, Meelan Choudhari, Donald Arseneau, Ed Kerschen, +% Paolo Lisandrin, Mark Woodmansee, Dominique Pelletier, Manual Cruz, +% Martin Sanchez, Chris Rumsey, Ray Chase, +% and Tadashi Minowa. +% Without their feedback, this package would wither.\footnote{% +% Hint: If you want to be listed in future versions of this document, +% send kudos, comments, and so on to +% \href{mailto:LaTeX_Support@AIAA.Org}{LaTeX\_Support@AIAA.Org}.} +% +% Bundling and documenting this \pkg{aiaa} package in docstrip +% format was done by using other packages as a model, +% particularly, Mats Dahlgren's \pkg{dropping}~\cite{dropping} +% and Jeff Goldberg et al.'s \pkg{endfloat}~\cite{endfloat}. +% +% Finally, the first author would like to thank the people of the +% |comp.text.tex| newsgroup, the \TeX\ Users Group Frequently Asked +% Questions maintainers, and various package authors for patiently +% answering my inane questions, in particular, but in no particular order: +% Donald Arsenau, Robin Fairbairns, Piet van Oostrum, Jeroen Nijhof, +% Steven Douglas Cochran, Herbert Voss, Jeffrey Goldberg, Mark Wooding, +% Paul Foley, David Kastrup, Jerry Leichter, Patrick Daly, David +% Carlisle, Edward Sznyter, and Jim Hefferon. +% +% \begin{thebibliography}{1} +% +% \bibitem{companion} +% Frank Mittelbach, Michel Goossens, Johannes Bramms, David Carlisle, +% and Chris Rowley. +% \newblock{\em The {\LaTeX} Companion}. +% \newblock 2nd ed. +% \newblock Addison-Wesley, Reading, Massachusetts, 2004. +% +% \bibitem{guide} +% Helmut Kopka and Patrick W. Daly. +% \newblock{\em A Guide to {\LaTeXe}: Tools and Techniques for Computer +% Typesetting}. +% \newblock 4th ed. +% \newblock Addison-Wesley, Reading, Massachusetts, 2003. +% +% \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} +% +% \section{Code Documentation} +% +% For the interested reader, the following sections can be made to +% contain a documented verion of the class code and bibliographic style file. +% These detailed coding bits are not included in the Users Manual by +% default. +% If you want to see these in typeset form, you need to comment +% out the |\OnlyDescription| line in the || section of +% \file{aiaa.dtx} and process \file{aiaa.dtx} with (PDF)\LaTeX. +% +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} + \usepackage[colorlinks]{hyperref} + \OnlyDescription % comment out to typeset class and bibstyle code +\begin{document} + \DocInput{aiaa.dtx} +\end{document} +% +% \end{macrocode} +% +% \StopEventually{\PrintChanges} +% +% \subsection{The Class} +% +% First, the opening header: +% \begin{macrocode} +%<*class> +%% +%% `aiaa-tc.cls' - A LaTeX class to create AIAA technical conference papers. +%% +%% The basic approach is to load the LaTeX article class and various +%% standard LaTeX packages, and then make modifications and extensions to +%% conform to AIAA's guidelines. +%% +%% To use, simply select this class file in your LaTeX document. For example, +%% +%% \documentclass{aiaa-tc} +%% +%% Class options: +%% +%% handcarry - used for hand carrying a paper to a 'loose papers' +%% conference. It adds the conference name to the +%% top of the first page, paper number to the bottom +%% of each page, and a copyright notice on the bottom +%% of the first +%% +%% submit - produces output typically required for journal submission, +%% i.e., 12pt font and 'double spacing'. +%% +%% plus those accepted by the standard article class such as 'draft'. +%% +%% Class-specific commands: +%% +%% \thanksibid{} - Reuses \thanks footnote symbol from previous +%% author specified by position in \author command. +%% For example, `someone\thanksibid{2}' will reuse the +%% footnote symbol from the second author for 'someone' +%% without producing a repeated footnote at the bottom. +%% +%% \AIAApapernumber{} - For use with 'handcarry' option. +%% \AIAAconference{} - Ditto. +%% \AIAAcopyright{} - Ditto. Must be filled with one of the +%% various copyright types: \AIAAcopyrightA{year}, +%% \AIAAcopyrightB{year}{holder}, \AIAAcopyrightC, +%% \AIAAcopyrightD{year}, or \AIAAcopyrightDAPL{year}. +%% +%% \AIAAsubmitinfo{} - Footer information used by 'submit' option. +%% +%% For support, further details, and a documented version of this class, +%% please read the Users Manual, aiaa.pdf, and the templates that come +%% with the AIAA LaTeX distribution. +%% +%% Wish list: +%% +%% o fine tune hyperref behavior, especially footnote behavior +%% +%% o an \appendix command to switch section styles, counters, etc. +%% +%% o leave space for copyright notice so that handcarry option does +%% not alter pagination. +%% +% \end{macrocode} +% The class identifies itself: +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{aiaa-tc}[2004/04/03 v3.5 AIAA technical conference paper] +% \end{macrocode} +% \begin{macro}{handcarry} +% \begin{macro}{submit} +% Option and associated flag. +% Note that the flag is set when an option is processes, so that it is +% overrides the default. +% \begin{macrocode} +\newif\if@aiaa@handcarry +\newif\if@aiaa@submit +\@aiaa@handcarryfalse +\@aiaa@submitfalse +\DeclareOption{handcarry}{\@aiaa@handcarrytrue\@aiaa@submitfalse} +\DeclareOption{submit}{\@aiaa@submittrue\@aiaa@handcarryfalse} +% \end{macrocode} +% \end{macro} +% \end{macro} +% Pass all unknown options on to the \LaTeX\ article class +% and process them. +% Note: Options are processed in order of the |\DeclareOption| +% commands in this file, so if you want one to take precedence +% over all the other options, process it last. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}% + \typeout{Unknown option: passing ``\CurrentOption" + option on to the standard LaTeX article class.}} +\ProcessOptions +% \end{macrocode} +% Unless this is a journal submisssion, load the \LaTeX{} standard +% article class with |letterpaper| and |10pt| options. +% \begin{macrocode} +\if@aiaa@submit + \LoadClass[letterpaper,12pt]{article} +\else + \LoadClass[letterpaper,10pt]{article} +\fi +% \end{macrocode} +% Load packages used by this class. +% \begin{macrocode} +\RequirePackage[margin=1in,top=0.75in,headheight=\baselineskip]% + {geometry}% page layout +\RequirePackage{graphicx}% images +\RequirePackage{array}% extra row height +\RequirePackage{overcite}% superscript, sorted, compressed citation commands +\RequirePackage{lastpage}% to get reference for last page number +\RequirePackage{fancyhdr}% simple control of headers and footers +\if@aiaa@submit + \RequirePackage{setspace}% control line spacing +\fi +% \end{macrocode} +% \begin{macro}{\AIAApapernumber} +% \begin{macro}{\AIAAconference} +% \begin{macro}{\AIAAcopyright} +% \begin{macro}{\AIAAsubmitinfo} +% Define AIAA specific fields: +% \begin{macrocode} +\newcommand*{\AIAApapernumber}[1]{\def\aiaa@papernumber{#1}}\AIAApapernumber{} +\newcommand*{\AIAAconference}[1]{\def\aiaa@conference{#1}}\AIAAconference{} +\newcommand*{\AIAAcopyright}[1]{\def\aiaa@copyright{#1}}\AIAAcopyright{} +\newcommand*{\AIAAsubmitinfo}[1]{\def\aiaa@submitinfo{#1}}\AIAAsubmitinfo{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% Tie |\intextsep| to |\baselineskip| to more tightly integrate layout +% \begin{macrocode} +\setlength{\intextsep}{0.7\baselineskip \@plus 2\p@ \@minus 1\p@} +% \end{macrocode} +% Change floating defaults to include `here' to promote text/float integration +% \begin{macrocode} +\def\fps@figure{htbp} +\def\fps@table{htbp} +% \end{macrocode} +% \begin{macro}{\AIAAcopyrightA} +% \begin{macro}{\AIAAcopyrightB} +% \begin{macro}{\AIAAcopyrightC} +% \begin{macro}{\AIAAcopyrightD} +% \begin{macro}{\AIAAcopyrightDAPL} +% Define AIAA copyright clauses for use when hand carrying +% \begin{macrocode} +\newcommand{\AIAAcopyrightA}[1]{Copyright \copyright\ #1 by the + American Institute of Aeronautics and Astronautics, Inc. All + rights reserved.}% rev 01/01/2002 +\newcommand{\AIAAcopyrightB}[2]{Copyright \copyright\ #1 by + #2. Published by the American Institute of Aeronautics + and Astronautics, Inc.\ with permission.}% rev 01/01/2002 +\newcommand{\AIAAcopyrightC}{This material is declared a work of the U.S. + Government and is not subject to copyright protection in the + United States.}% rev 01/01/2002 +\newcommand{\AIAAcopyrightD}[1]{Copyright \copyright\ #1 by the American + Institute of Aeronautics and Astronautics, Inc. 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.}% rev 01/01/2002 +\newcommand{\AIAAcopyrightDAPL}[1]{Copyright \copyright\ #1 by the American + Institute of Aeronautics and Astronautics, Inc. Under the copyright + claimed herein, the U.S. Government has a royalty-free license to + exercise all rights for Governmental purposes. All other rights are + reserved by the copyright owner.}% rev 01/01/2002 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\aiaa@makecopyright} +% Typeset copyright notice as a footnote of the first page +% \begin{macrocode} +\newcommand\aiaa@makecopyright{% + \begingroup + \renewcommand\thefootnote{} + \if@aiaa@handcarry\footnotetext{\aiaa@copyright}\fi + \endgroup +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\thanksibid} +% Define |\thanksibid| command to reuse \thanks footnote symbol of a +% previous author +% \begin{macrocode} +\newcounter{aiaa@cthanks} +\newcounter{aiaa@cfootnote} +\newcommand{\thanksibid}[1]{% + \begingroup + \setcounter{aiaa@cfootnote}{\value{footnote}}% store original + \setcounter{aiaa@cthanks}{#1}% + \renewcommand\thefootnote{\fnsymbol{aiaa@cthanks}}% + \footnotemark% + \setcounter{footnote}{\value{aiaa@cfootnote}}% reset to original + \endgroup +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\maketitle} +% Rework |\maketitle| a bit and remove its |\pagestyle{plain}| [article.cls] +% \begin{macrocode} +\renewcommand\maketitle{\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}% + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \@thanks + \endgroup + \setcounter{footnote}{0}% + \renewcommand\thefootnote{\@alph\c@footnote}% change to alpha style footnote + \aiaa@makecopyright + \global\let\thanks\relax + \global\let\thanksibid\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@maketitle} +% Add conference name at top and remove date [article.cls] +% \begin{macrocode} +\def\@maketitle{% + \newpage + \null + \begin{center}% + \if@aiaa@handcarry + {\sffamily\scriptsize\aiaa@conference} + \vskip1em + \else + \vskip\baselineskip + \vskip1em + \fi + \let \footnote \thanks + {\LARGE\bfseries \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \end{center}% + \par + \vskip 1.5ex} +% \end{macrocode} +% \end{macro} +% Reduce the quantity of overfull warnings +% \begin{macrocode} +\setlength\hfuzz{2pt} +% \end{macrocode} +% Setup page headers and footers [fancyhdr.sty] +% \begin{macrocode} +\fancyhf{}% clear defaults +\renewcommand{\headrulewidth}{0pt}% turn off default headrule +\cfoot{\footnotesize\normalfont + \thepage\ of \pageref{LastPage}\\ + \rule[.2\baselineskip]{0.5in}{0.2pt}\\ + \if@aiaa@submit + \aiaa@submitinfo + \else + American Institute of Aeronautics and Astronautics + \ifx\aiaa@papernumber\@empty + \relax + \else + \if@aiaa@handcarry Paper \aiaa@papernumber\fi + \fi + \fi} +\pagestyle{fancy} +% \end{macrocode} +% Set graphic defaults [graphicx.sty] +% \begin{macrocode} +\setkeys{Gin}{width=\linewidth,totalheight=\textheight,keepaspectratio} +% \end{macrocode} +% Add some extra space between tabular rows [array.sty] +% \begin{macrocode} +\setlength{\extrarowheight}{2pt} +% \end{macrocode} +% \begin{environment}{\abstract} +% Remove abstract name and add bold font [article.cls] +% \begin{macrocode} +\renewenvironment{abstract}% + {\small\quotation\bfseries}% + {\normalfont\endquotation\normalsize} +% \end{macrocode} +% \end{environment} +% \begin{macro}{\@makecaption} +% Change font and delimeter for captions [article.cls] +% \begin{macrocode} +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{\footnotesize\bfseries #1.~~#2}% + \ifdim \wd\@tempboxa >\hsize + \footnotesize\bfseries #1.~~#2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} +% \end{macrocode} +% \end{macro} +% Add some belowcaptionskip to make table captions look better [article.cls] +% \begin{macrocode} +\setlength\belowcaptionskip{5pt plus 1pt minus 1pt} +% \end{macrocode} +% Change style of section numbering [article.cls] +% \begin{macrocode} +\renewcommand\thesection {\@Roman\c@section} +\renewcommand\thesubsection {\@Alph\c@subsection} +\renewcommand\thesubsubsection{\@arabic\c@subsubsection} +\renewcommand\theparagraph {\@alph\c@paragraph} +\renewcommand\thesubparagraph {\@roman\c@subparagraph} +\setcounter{secnumdepth}{3}% no counters \paragraph and below +% \end{macrocode} +% \begin{macro}{\@seccntformat} +% Add period after the section counter [latex.ltx] +% \begin{macrocode} +\def\@seccntformat#1{\csname the#1\endcsname.\quad} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\section} +% \begin{macro}{\subsection} +% \begin{macro}{\subsubsection} +% \begin{macro}{\paragraph} +% \begin{macro}{\subparagraph} +% Change style of sections [article.cls] +% \begin{macrocode} +\renewcommand\section{\@startsection {section}{1}{\z@}% + {3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\center\normalfont\large\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\itshape}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {2.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\scshape}} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {2.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\normalfont\normalfont}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\@biblabel} +% \begin{environment}{thebibliography} +% Redefine bibliography behavior for superscripts and smaller font [article.cls] +% \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}% + \footnotesize% + } + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% \end{environment} +% \end{macro} +% Change line spacing if using |submit| option and modify package +% behaviors slightly if they are loaded. +% \begin{macrocode} +\AtBeginDocument{% + \if@aiaa@submit\onehalfspacing\fi +% \end{macrocode} +% \begin{macro}{\tablenotes} +% |threeparttable.sty|---|\footnotesize| notes, reduce the space between +% the superscript and the note, and increase some spacing (|\itemsep| and +% |\topsep|) in the tablenotes environment +% \begin{macrocode} + \@ifundefined{TPT@hsize}{}{% + \def\tablenotes{% + \TPT@hsize + \list{}% + {\footnotesize\topsep4pt \partopsep\z@skip + \itemsep2pt \parsep\z@ \itemindent\z@ \leftmargin1.5em + \def\makelabel##1{\tnote{##1}\hfil}\labelwidth0.5em\labelsep1pt% + \relax}} + }% +% \end{macrocode} +% \end{macro} +% |nomencl.sty| +% \begin{macrocode} + \@ifundefined{nomgroup}{}{% + \RequirePackage{ifthen}% for typesetting groups within nomenclature +% \end{macrocode} +% Single-space nomenclature +% \begin{macrocode} + \setlength{\nomitemsep}{-\parsep} +% \end{macrocode} +% \begin{macro}{\nomgroup} +% Sort nomenclature according to types +% \begin{macrocode} + \renewcommand{\nomgroup}[1]{% + \medskip% + \ifthenelse{\equal{#1}{A}}% + {\relax}% + {\ifthenelse{\equal{#1}{G}}% + {\item []\hspace*{-\leftmargin}% + \emph{Symbols}\hfill\smallskip}% + {\ifthenelse{\equal{#1}{B}}% + {\item []\hspace*{-\leftmargin}% + \emph{Subscripts}\hfill\smallskip}% + {\ifthenelse{\equal{#1}{C}}% + {\item []\hspace*{-\leftmargin}% + \emph{Conventions}\hfill\smallskip}% + {\ifthenelse{\equal{#1}{T}}% + {\item []\hspace*{-\leftmargin}% + \emph{Superscripts}\hfill\smallskip}{}% + }% + }% + }% + }% + }% \nomgroup + }% @ifundefined +}% \AtBeginDocument +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% This concludes \cls{aiaa-tc.cls}. +% +% +% \subsection{The Bibliography Style} +% +% \begin{macrocode} +%<*bibstyle> +% +% Note: this file originally created with 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$ * " " * } + +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 {Sb} {"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} +% +% +% \end{macrocode} +% This concludes \file{aiaa.bst}. +% +% \Finale +% +% $Id: aiaa.dtx,v 1.11 2004/05/23 12:49:43 kleb Exp $ diff --git a/Master/texmf-dist/source/latex/aiaa/aiaa.ins b/Master/texmf-dist/source/latex/aiaa/aiaa.ins new file mode 100644 index 00000000000..c0396e16134 --- /dev/null +++ b/Master/texmf-dist/source/latex/aiaa/aiaa.ins @@ -0,0 +1,65 @@ +% +% `aiaa.ins' - The installation file for the `aiaa' distribution +% +% To obtain the individual components of the AIAA bundle necessary +% to produce a document, process this file with LaTeX, viz, +% +% latex aiaa.ins +% +% The class and bibliography style files will be extracted from the file +% `aiaa.dtx' via the docstrip utility, which is part of LaTeX. +% +% The Users Manual, 'aiaa.pdf', was produced by running 'aiaa.dtx' +% through LaTeX, viz, +% +% latex aiaa.dtx +% +% `aiaa' is based on the standard LaTeX article class and various +% standard packages. Patrick Daly's custom-bib package was used +% to generate the foundations of the AIAA bibliographic style file. + +\def\batchfile{aiaa.ins} +\input docstrip.tex + +\keepsilent +\preamble + +Welcome to the AIAA LaTeX package. + +For further details and support, read the Users Manual, aiaa.pdf. + +This software is released under the terms of the LaTeX Project Public +License. Copyright (C) 2004 by Bil Kleb, Bill Wood, and Erich Knausenberger. + +\endpreamble + +\declarepostamble\bstpostamble +\endpostamble + +\generate{\file{aiaa-tc.cls} {\from{aiaa.dtx}{class}}} +\generate{\usepostamble\bstpostamble% + \file{aiaa.bst} {\from{aiaa.dtx}{bibstyle}}} + +\Msg{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::} +\Msg{ } +\Msg{ The AIAA class file,} +\Msg{ } +\Msg{ aiaa-tc.cls} +\Msg{ } +\Msg{ needs to be moved into a directory searched by LaTeX.} +\Msg{ } +\Msg{ The bibliography style file,} +\Msg{ } +\Msg{ aiaa.bst} +\Msg{ } +\Msg{ needs to be moved into a directory searched by BibTeX.} +\Msg{ } +\Msg{ The users manual, `aiaa.pdf', contains more detailed installation} +\Msg{ instructions. If you do not have this file, it can be created} +\Msg{ by running the file `aiaa.dtx' through (PDF)LaTeX.} +\Msg{ } +\Msg{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::} + +\endinput + +% $Id: aiaa.ins,v 1.5 2004/05/23 12:49:43 kleb Exp $ -- cgit v1.2.3