summaryrefslogtreecommitdiff
path: root/macros/latex209/contrib/misc/nf.sty
blob: c0632061d93892c3d452eedfd4dc2cd4420944f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
%%% Save file as: nf.sty                      Source: FILESERV@SHSU.BITNET
%%% The following checksum includes all SHSU-generated topmatter.
%%% checksum = "41408 170 486 6458"
% NF (style option to ARTICLE) for Nuclear Fusion
% NF DOCUMENT SUBSTYLE -- released 17 January 1989
% Written by Charles Karney (Karney@Princeton.EDU).

% This document style is designed for manuscripts to be submitted to
% Nuclear Fusion.
% To use this give NF as an optional argument to \documentstyle.  The
% main style should be ARTICLE.  E.g.,
%     \documentstyle[12pt,nf]{article}
% This provides all the same facilities as the AIP style, except:

% (1) Sections are numbered with arabic numerals, e.g., 2.3.1 (the
% ARTICLE default).

% (2) Reference numbers in citation and bibliography are enclosed in []'s
% (the ARTICLE default).

% (3) The style of the subsections, etc. is different.

% (4) Use Fig. instead of FIG. in figure captions, etc.

\typeout{Document Substyle 'NF'.  Released 17 January 1989}

\def\thebibliography#1{\par\clearpage\section*{References\@mkboth
  {REFERENCES}{REFERENCES}}\list
  {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
    \advance\leftmargin\labelsep
    \usecounter{enumi}}
    \def\newblock{\hskip .11em plus .33em minus -.07em}
    \sloppy
    \sfcode`\.=1000\relax}

% \citenum emits the plain citation number without ornament
% \citea puts it's argument into the ornamentation for citations
% thus \cite{foo} is equivalent to \citea{\citenum{foo}}
\def\citenum#1{{\def\@cite##1##2{##1}\cite{#1}}}
\def\citea#1{\@cite{#1}{}}

% Collapse citation numbers to ranges.  Non-numeric and undefined labels
% are handled.  No sorting is done.  E.g., 1,3,2,3,4,5,foo,1,2,3,?,4,5
% gives 1,3,2-5,foo,1-3,?,4,5
\newcount\@tempcntc
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
    {\@ifundefined
       {b@\@citeb}%
	{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,\penalty\@m\ }{\bf ?}%
	\@warning{Citation `\@citeb' on page \thepage \space undefined}}%
    {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
     \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
       \@citea\def\@citea{,\penalty\@m\ }\hbox{\csname b@\@citeb\endcsname}%
     \else
      \advance\@tempcntb\@ne
      \ifnum\@tempcntb=\@tempcntc
      \else\advance\@tempcntb\m@ne\@citeo
      \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,\penalty\@m\ }%
  \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
   {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi
    \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}

% Title page
\def\@maketitle{\newpage
 \null
 \vskip 1em plus 2em minus 1em     % Vertical space before date.
 \ifx\@date\@empty\else
   \begin{flushright}
    {\normalsize \@date}           % Date set in \large size.
   \end{flushright}
   \vskip 2em plus 2em minus 1em   % Vertical space above title.
 \fi
 \begin{center}
  {\Large\bf \@title \par}     % Title set in \Large size. 
  \vskip 1.5em plus 0em minus .5em  % Vertical space after title.
  {\large                        % each author set in \large, in a
   \lineskip .5em plus 0em minus .3em   % tabular environment
   \begin{tabular}[t]{c}\@author 
   \end{tabular}\par}
\end{center}
 \par
 \vskip 1.5em plus .5em minus .5em}     % Vertical space after author.

\newif\if@starvariant \@starvariantfalse

\def\abstract{\if@starvariant\else\section*{Abstract}\fi}
\def\endabstract{\par\clearpage}

\@namedef{abstract*}{\@starvarianttrue\abstract}
\@namedef{endabstract*}{\endabstract}

\parskip 1.5pt plus 1.5pt          % Extra vertical space between paragraphs.
\tabcolsep 12pt			   % Double column separation in tables

\def\section{\@startsection {section}{1}{\z@}{3.5ex plus 1ex minus 
    .2ex}{2.3ex plus .2ex}{\large\bf}}
\def\subsection{\@startsection{subsection}{2}{\z@}{3.25ex plus 1ex minus 
   .2ex}{1.5ex plus .2ex}{\large\sl}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{3.25ex plus 
1ex minus .2ex}{1.5ex plus .2ex}{\normalsize\sl}}

\newif\if@numbersec \@numbersectrue
\def\appendix{\par\clearpage
  \setcounter{section}{0}
  \setcounter{subsection}{0}
  \@addtoreset{equation}{section}
  \def\theequation{\thesection\arabic{equation}}
  \def\thesection{\Alph{section}}
  \def\thesubsection{\arabic{subsection}}
  \@ifstar{\def\@sectname{Appendix}\@numbersecfalse}
          {\def\@sectname{Appendix~}\@numbersectrue}}

% Figures
\def\thefigures#1{\par\clearpage
 \if@starvariant\section*{Figure\@mkboth
    {FIGURE}{FIGURE}}\else
  \section*{Figures\@mkboth
    {FIGURES}{FIGURES}}\fi
 \list
  {Fig.~\arabic{enumi}.}{\labelwidth\parindent\advance\labelwidth -\labelsep
      \leftmargin\parindent\usecounter{enumi}}}
\def\figitem#1{\item\label{#1}}
\let\endthefigures=\endlist

\@namedef{thefigures*}{\@starvarianttrue\thefigures}
\@namedef{endthefigures*}{\endthefigures}

% Tables
\def\thetables#1{\par\clearpage
 \if@starvariant\section*{Table\@mkboth
    {TABLE}{TABLE}}\else
  \section*{Tables\@mkboth
    {TABLES}{TABLES}}\fi
 \list
  {Table~\Roman{enumi}.}{\labelwidth-\labelsep
      \leftmargin0pt\usecounter{enumi}}}
\def\tableitem#1{\item\label{#1}}
\let\endthetables=\endlist

\@namedef{thetables*}{\@starvarianttrue\thetables}
\@namedef{endthetables*}{\endthetables}

% Put period after section number and allow for APPENDIX prefix.
\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
     \def\@svsec{}\else 
     \refstepcounter{#1}\edef\@svsec{\ifnum #2=1 \@sectname
         \if@numbersec\csname the#1\endcsname\fi.\else
         \csname the#1\endcsname.\fi
	\hskip 1em }\fi
     \@tempskipa #5\relax
      \ifdim \@tempskipa>\z@ 
        \begingroup #6\relax
          \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}
        \endgroup
       \csname #1mark\endcsname{#7}\addcontentsline
         {toc}{#1}{\ifnum #2>\c@secnumdepth \else
                      \protect\numberline{\csname the#1\endcsname}\fi
                    #7}\else
        \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
                      {#7}\addcontentsline
                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else
                             \protect\numberline{\csname the#1\endcsname}\fi
                       #7}}\fi
     \@xsect{#5}}

\def\@sectname{}

\endinput