% MIL-STD DOCUMENT STYLE -- for LaTeX version 2.08 % **************************************** % * FONTS * % **************************************** % \lineskip 1pt % \lineskip is 1pt for all font sizes. \normallineskip 1pt \def\baselinestretch{1} % Each size-changing command \SIZE executes the command % \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE % where: % BASELINESKIP = Normal value of \baselineskip for that size. (Actual % value will be \baselinestretch * BASELINESKIP.) % % \FONTSIZE = Name of font-size command. The currently available % (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), % \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, % \xivpt, \xviipt, \xxpt, \xxvpt. % \@FONTSIZE = The same as the font-size command except with an % '@' in front---e.g., if \FONTSIZE = \xivpt then % \@FONTSIZE = \@xivpt. % % For reasons of efficiency that needn't concern the designer, % the document style defines \@normalsize instead of \normalsize . This is % done only for \normalsize, not for any other size-changing commands. \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt \abovedisplayskip 12pt plus3pt minus7pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3pt% \belowdisplayshortskip 6.5pt plus3.5pt minus3pt} \def\small{\@setsize\small{13.6pt}\xipt\@xipt \abovedisplayskip 11pt plus3pt minus6pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3pt% \belowdisplayshortskip 6.5pt plus3.5pt minus3pt \def\@listi{\parsep 4.5pt plus 2pt minus 1pt \itemsep \parsep \topsep 9pt plus 3pt minus 5pt}} \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt \abovedisplayskip 10pt plus2pt minus5pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3pt% \belowdisplayshortskip 6pt plus3pt minus3pt \def\@listi{\topsep 6pt plus 2pt minus 2pt\parsep 3pt plus 2pt minus 1pt \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{18pt}\xivpt\@xivpt} \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} \let\Huge=\huge \normalsize % Choose the normalsize font. % **************************************** % * PAGE LAYOUT * % **************************************** % % All margin dimensions measured from a point one inch from top and side % of page. Dimensions shrink by about 2 percent % SIDE MARGINS: \if@twoside % Values for two-sided printing: \oddsidemargin 21pt % Left margin on odd-numbered pages. \evensidemargin 59pt % Left margin on even-numbered pages. \marginparwidth 85pt % Width of marginal notes. \else % Values for one-sided printing: \oddsidemargin 0pt % Note that \oddsidemargin = \evensidemargin \evensidemargin 0pt \marginparwidth 68pt \fi \marginparsep 10pt % Horizontal space between outer margin and % marginal note % VERTICAL SPACING: % Top of page: \topmargin -35pt % Nominal distance from top of page to top of % box containing running head. \headheight 24pt % Height of box containing running head. \headsep 25pt % Space between running head and text. % \topskip = 10pt % '\baselineskip' for first line of page. % Bottom of page: \footheight 12pt % Height of box containing running foot. \footskip 30pt % Distance from baseline of box containing foot % to baseline of last line of text. % DIMENSION OF TEXT: \textheight 8.33in % Height of text (including footnotes and figures, % excluding running head and foot). \textwidth 6.25in % Width of text line. % For two-column mode: \columnsep 10pt % Space between columns \columnseprule 0pt % Width of rule between columns. % A \raggedbottom command causes 'ragged bottom' pages: pages set to % natural height instead of being stretched to exactly \textheight. % FOOTNOTES: \footnotesep 14pt % Height of strut placed at the beginning of every % footnote. \skip\footins 8pt plus 2pt minus 4pt % Space between last line of text and % top of first footnote. % FLOATS: (a float is something like a figure or table) % % FOR FLOATS ON A TEXT PAGE: % % ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: \floatsep 14pt plus 2pt minus 4pt % Space between adjacent floats moved % to top or bottom of text page. \textfloatsep 20pt plus 2pt minus 4pt % Space between main text and floats % at top or bottom of page. \intextsep 14pt plus 4pt minus 4pt % Space between in-text figures and % text. \@maxsep 20pt % The maximum of \floatsep, % \textfloatsep and \intextsep (minus % the stretch and shrink). % TWO-COLUMN FLOATS IN TWO-COLUMN MODE: \dblfloatsep 14pt plus 2pt minus 4pt % Same as \floatsep for double-column % figures in two-column mode. \dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for double-column % floats. \@dblmaxsep 20pt % The maximum of \dblfloatsep and % \dbltexfloatsep. % FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: % ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: \@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be % 0pt plus ...) \@fpsep 10pt plus 2fil % Space between floats on float page/column. \@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be % 0pt plus ... ) % DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) \@dblfpsep 10pt plus 2fil % Space between floats on float page. \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be % 0pt plus ... ) % MARGINAL NOTES: % \marginparpush 7pt % Minimum vertical separation between two marginal % notes. % **************************************** % * PARAGRAPHING * % **************************************** % \parskip 12pt plus 1pt % Extra vertical space between paragraphs. \parindent 1.5em % Width of paragraph indentation. \topsep 10pt plus 4pt minus 6pt % Extra vertical space, in addition to % \parskip, added above and below list and % paragraphing environments. \partopsep 3pt plus 2pt minus 2pt % Extra vertical space, in addition to % \parskip and \topsep, added when user % leaves blank line before environment. \itemsep 5pt plus 2.5pt minus 1pt % Extra vertical space, in addition to % \parskip, added between list items. % The following page-breaking penalties are defined \@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] \@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] \@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] \@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. \@endparpenalty -\@lowpenalty % After a list or paragraph environment. \@itempenalty -\@lowpenalty % Between list items. % \clubpenalty % 'Club line' at bottom of page. % \widowpenalty % 'Widow line' at top of page. % \displaywidowpenalty % Math display widow line. % \predisplaypenalty % Breaking before a math display. % \postdisplaypenalty % Breaking after a math display. % \interlinepenalty % Breaking at a line within a paragraph. % \brokenpenalty % Breaking after a hyphenated line. % **************************************** % * SECTIONS * % **************************************** % % \secdef{UNSTARCMDS}{STARCMDS} : % When defining a sectionioning command without using % \@startsection, you can use \secdef as follows: % \def\part { ... \secdef \CMDA \CMDB } % \def\CMDA [#1]#2{ ... } % Command to define \part[...]{...} % \def\CMDB #1{ ... } % Command to define \part*{...} \def\part{\par % New paragraph \addvspace{4ex} % Adds vertical space above title. \@afterindentfalse % Suppresses indent in first paragraph. Change \secdef\@part\@spart} % to \@afterindenttrue to have indent. \def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 \refstepcounter{part} % THEN step part counter \addcontentsline{toc}{part}{\thepart % add toc line \hspace{1em}#1}\else % ELSE add unnumbered line \addcontentsline{toc}{part}{#1}\fi % FI { \parindent 0pt \raggedright \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 \Large \bf Part \thepart % THEN Print 'Part' and \par\nobreak % number in \Large boldface. \fi % FI \huge \bf % Select \huge boldface. #2\markboth{}{}\par } % Print title and set heading marks null. \nobreak % TeX penalty to prevent page break. \vskip 3ex % Space between title and text. \@afterheading % Routine called after part and } % section heading. % Heading for \part* command \def\@spart#1{{\parindent 0pt \raggedright \huge \bf #1\par} % Title. \nobreak % TeX penalty to prevent page break. \vskip 3ex % Space between title and text. \@afterheading % Routine called after part and } % section heading. % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} % optional * [ALTHEADING]{HEADING} % Generic command to start a section. % NAME : e.g., 'subsection' % LEVEL : a number, denoting depth of section -- e.g., section=1, % subsection = 2, etc. A section number will be printed if % and only if LEVEL < or = the value of the secnumdepth % counter. % INDENT : Indentation of heading from left margin % BEFORESKIP : Absolute value = skip to leave above the heading. % If negative, then paragraph indent of text following % heading is suppressed. % AFTERSKIP : if positive, then skip to leave below heading, % else - skip to leave to right of run-in heading. % STYLE : commands to set style % If '*' missing, then increments the counter. If it is present, then % there should be no [ALTHEADING] argument. A sectioning command % is normally defined to \@startsection + its first six arguments. \def\section{\clearpage \@startsection {section}{1}{\parindent} {3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}{\sectionstyle}} \def\subsection{\@startsection{subsection}{2}{\parindent} {3.25ex plus 1ex minus .2ex}{-1.5ex plus .2ex}{\subsectionstyle}} \def\subsubsection{\@startsection{subsubsection}{3}{\parindent} {3.25ex plus 1ex minus .2ex}{-1.5ex plus -.2ex}{\subsubsectionstyle}} \def\paragraph{\@startsection {paragraph}{4}{\parindent} {3.25ex plus 1ex minus .2ex}{-1em}{\paragraphstyle}} \def\subparagraph{\@startsection {subparagraph}{5}{\parindent} {3.25ex plus 1ex minus .2ex}{-1em}{\subparagraphstyle}} \def\subsubparagraph{\@startsection {subsubparagraph}{6}{\parindent} {3.25ex plus 1ex minus .2ex}{-1em}{\subsubparagraphstyle}} \def\subsubsubparagraph{\@startsection {subsubsubparagraph}{7}{\parindent} {3.25ex plus 1ex minus .2ex}{-1em}{\subsubsubparagraphstyle}} % The value of the counter secnumdepth gives the depth of the % highest-level sectioning command that is to produce section numbers. % \setcounter{secnumdepth}{7} % APPENDIX % % The \appendix command must do the following: % -- reset the section counter to zero and % -- reset the subsection counter to zero % -- redefine the \section command to produce the proper format appendix \def\appendix{\par \clearpage \renewcommand{\thepage}{\Roman{appnumber}-\arabic{page}} \setcounter{appnumber}{0} \setcounter{section}{0} \setcounter{subsection}{0} \makeatletter \def\section{\clearpage \addtocounter{section}{9} \addtocounter{appnumber}{1} \setcounter{page}{1} \addtocontents{toc}{\noindent\hspace{7em}APPENDIX~\Roman{appnumber}} \setcounter{figure}{0} \setcounter{table}{0} \begin{center} \large\bf APPENDIX~\Roman{appnumber} \end{center} \par \@startsection {section}{1}{\parindent}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}{\sectionstyle}} \makeatother \def\thefigure{\Roman{appnumber}-\arabic{figure}} \def\thetable{\Roman{appnumber}-\Roman{table}} } % **************************************** % * LISTS * % **************************************** % % The following commands are used to set the default values for the list % environment's parameters. See the LaTeX manual for an explanation of % the meanings of the parameters. Defaults for the list environment are % set as follows. First, \rightmargin, \listparindent and \itemindent % are set to 0pt. Then, for a Kth level list, the command \@listK is % called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is % called for a third-level list.) By convention, \@listK should set % \leftmargin to \leftmarginK. % % For efficiency, level-one list's values are defined at top level, and % \@listi is defined to set only \leftmargin. \leftmargini 4.5em \leftmarginii 2.2em % > \labelsep + width of '(m)' \leftmarginiii 1.87em % > \labelsep + width of 'vii.' \leftmarginiv 1.7em % > \labelsep + width of 'M.' \leftmarginv 1em \leftmarginvi 1em \leftmargin\leftmargini \labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep .5em \parsep 5pt plus 2.5pt minus 1pt \def\@listi{\leftmargin\leftmargini} \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 5pt plus 2.5pt minus 1pt \parsep 2.5pt plus 1pt minus 1pt \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2.5pt plus 1pt minus 1pt \parsep \z@ \partopsep 1pt plus 0pt minus 1pt \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} % DEC/CMS REPLACEMENT HISTORY, Element MS12.STY % *5 27-FEB-1986 14:31:28 MCPHERSON "Redefine \thepage for appendices, capitalize appendix" % *4 13-FEB-1986 13:22:54 MCPHERSON "Reset the figure and table counters for each appendix" % *3 7-FEB-1986 10:10:31 MCPHERSON "deleted bookform, added volumes, renumbered appendices" % *2 13-JAN-1986 09:02:27 MCPHERSON "Increase \parskip, increase indentation on lists " % *1 6-NOV-1985 15:11:34 MCPHERSON "MIL-STD-490 document style, LaTeX 2.08" % DEC/CMS REPLACEMENT HISTORY, Element MS12.STY