Created a reasonable DoNotIndex list
[latex-mlastyle.git] / mlastyle.dtx
index d38f36c494a904afd42172d2c9116bc88d890580..5da97f857948dcf4e57f8732801edccdafc158b3 100644 (file)
@@ -1,7 +1,7 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2003 by Scott Pakin <pakin@uiuc.edu>
-% --------------------------------------------------
+% Copyright (C) 2003 by Tim Pope <latex@rebelongto.us>
+% ----------------------------------------------------
 % 
 % This file may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.2
 %
 % \GetFileInfo{mlastyle.sty}
 %
-% \DoNotIndex{\the,\edef,\gdef,\voffset,\@undefined}
-% \DoNotIndex{\@centercr,\@for,\@date,\do,\@startsection}
-% \DoNotIndex{\@citea,\@citeb}
-% \DoNotIndex{\@empty,\@ignoretrue}
-% \DoNotIndex{\@ixpt}
-% \DoNotIndex{\@M,\@minus,\@ne,\@plus}
-% \DoNotIndex{\.,\ ,\\}
-% \DoNotIndex{\addtolength,\advance}
-% \DoNotIndex{\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
-% \DoNotIndex{\bullet}
-% \DoNotIndex{\cdot,\cr,\day,\DeclareOption}
-% \DoNotIndex{\def,\DocInput,\documentclass}
-% \DoNotIndex{\DoNotIndex,\egroup,\ifx,\else,\fi,\endtrivlist}
-% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup}
-% \DoNotIndex{\endlist,\everycr,\ExecuteOptions,\expandafter}
-% \DoNotIndex{\filedate,\filename,\fileversion,\futurelet}
-% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule}
-% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\ifcase,\or,\fi}
-% \DoNotIndex{\ifvmode,\fi,\ifnum,\fi,\input}
-% \DoNotIndex{\kern,\leavevmode,\let,\leftmark}
-% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark}
-% \DoNotIndex{\mbox,\month,\newcommand,\newcounter,\newenvironment}
-% \DoNotIndex{\mlastyle@bibstyletrue,\mlastyle@bibstylefalse}
-% \DoNotIndex{\mlastyle@formattrue,\mlastyle@formatfalse}
-% \DoNotIndex{\mlastyle@papersizetrue,\mlastyle@papersizefalse}
-% \DoNotIndex{\mlastyle@styletrue,\mlastyle@stylefalse}
-% \DoNotIndex{\mlastyle@timestrue,\mlastyle@timesfalse}
-% \DoNotIndex{\mlastyle@underlinetrue,\mlastyle@underlinefalse}
-% \DoNotIndex{\mlastyle@bibstyletrue,\mlastyle@bibstylefalse}
-% \DoNotIndex{\mlastyle@slashnext,\mlastyle@slashx}
-% \DoNotIndex{}
-% \DoNotIndex{\NeedsTeXFormat,\newdimen}
-% \DoNotIndex{\newpage,\nobreak,\noindent,\number}
-% \DoNotIndex{\or,\p@}
-% \DoNotIndex{\pagestyle,\par}
-% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions}
-% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright}
-% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\renewenvironment}
+% \DoNotIndex{\ }
+% \DoNotIndex{\.}
+% \DoNotIndex{\@afterindentfalse}
+% \DoNotIndex{\@afterindenttrue}
+% \DoNotIndex{\@arabic}
+% \DoNotIndex{\@author}
+% \DoNotIndex{\@auxout}
+% \DoNotIndex{\@citea}
+% \DoNotIndex{\@citeb}
+% \DoNotIndex{\@date}
+% \DoNotIndex{\@empty}
+% \DoNotIndex{\@firstofone}
+% \DoNotIndex{\@for}
+% \DoNotIndex{\@ifundefined}
+% \DoNotIndex{\@latex@warning}
+% \DoNotIndex{\@listI}
+% \DoNotIndex{\@listi}
+% \DoNotIndex{\@listii}
+% \DoNotIndex{\@listiii}
+% \DoNotIndex{\@listiv}
+% \DoNotIndex{\@listv}
+% \DoNotIndex{\@listvi}
+% \DoNotIndex{\@startsection}
+% \DoNotIndex{\@tempswafalse}
+% \DoNotIndex{\@title}
+% \DoNotIndex{\@undefined}
+% \DoNotIndex{\DeclareOption}
+% \DoNotIndex{\ExecuteOptions}
+% \DoNotIndex{\G@refundefinedtrue}
+% \DoNotIndex{\ProcessOptions}
+% \DoNotIndex{\RequirePackage}
+% \DoNotIndex{\addtolength}
+% \DoNotIndex{\advance}
+% \DoNotIndex{\baselineskip}
+% \DoNotIndex{\begin}
+% \DoNotIndex{\bfseries}
+% \DoNotIndex{\c@enumiv}
+% \DoNotIndex{\catcode}
+% \DoNotIndex{\centering}
+% \DoNotIndex{\centerline}
+% \DoNotIndex{\chapter}
+% \DoNotIndex{\citation}
+% \DoNotIndex{\clearpage}
+% \DoNotIndex{\csname}
+% \DoNotIndex{\day}
+% \DoNotIndex{\def}
+% \DoNotIndex{\do}
+% \DoNotIndex{\edef}
+% \DoNotIndex{\else}
+% \DoNotIndex{\end}
+% \DoNotIndex{\endcsname}
+% \DoNotIndex{\endlist}
+% \DoNotIndex{\exhyphenpenalty}
+% \DoNotIndex{\expandafter}
+% \DoNotIndex{\f@baselineskip}
+% \DoNotIndex{\fancyhf}
+% \DoNotIndex{\fancypagestyle}
+% \DoNotIndex{\fi}
+% \DoNotIndex{\futurelet}
+% \DoNotIndex{\gdef}
+% \DoNotIndex{\hangindent}
+% \DoNotIndex{\headrulewidth}
+% \DoNotIndex{\if@filesw}
+% \DoNotIndex{\if@tempswa}
+% \DoNotIndex{\ifcase}
+% \DoNotIndex{\ifmlastyle@bibstyle}
+% \DoNotIndex{\ifmlastyle@format}
+% \DoNotIndex{\ifmlastyle@papersize}
+% \DoNotIndex{\ifmlastyle@style}
+% \DoNotIndex{\ifmlastyle@times}
+% \DoNotIndex{\ifmlastyle@underline}
+% \DoNotIndex{\ifx}
+% \DoNotIndex{\immediate}
+% \DoNotIndex{\item}
+% \DoNotIndex{\itemindent}
+% \DoNotIndex{\itemsep}
+% \DoNotIndex{\labelsep}
+% \DoNotIndex{\labelwidth}
+% \DoNotIndex{\leavevmode}
+% \DoNotIndex{\leftmargin}
+% \DoNotIndex{\leftmargini,\leftmarginii,\leftmarginiii}
+% \DoNotIndex{\leftmarginiv,\leftmarginv,\leftmarginvi}
+% \DoNotIndex{\let}
+% \DoNotIndex{\linespread}
+% \DoNotIndex{\list}
+% \DoNotIndex{\listparindent}
+% \DoNotIndex{\makeenmark}
+% \DoNotIndex{\mbox}
+% \DoNotIndex{\mlastyle@bibstylefalse}
+% \DoNotIndex{\mlastyle@bibstyletrue}
+% \DoNotIndex{\mlastyle@cite}
+% \DoNotIndex{\mlastyle@course}
+% \DoNotIndex{\mlastyle@formatfalse}
+% \DoNotIndex{\mlastyle@formattrue}
+% \DoNotIndex{\mlastyle@instructor}
+% \DoNotIndex{\mlastyle@intbib}
+% \DoNotIndex{\mlastyle@papersizefalse}
+% \DoNotIndex{\mlastyle@papersizetrue}
+% \DoNotIndex{\mlastyle@qspread}
+% \DoNotIndex{\mlastyle@sl@sh}
+% \DoNotIndex{\mlastyle@slash}
+% \DoNotIndex{\mlastyle@slashnext}
+% \DoNotIndex{\mlastyle@slashx}
+% \DoNotIndex{\mlastyle@stylefalse}
+% \DoNotIndex{\mlastyle@styletrue}
+% \DoNotIndex{\mlastyle@surname}
+% \DoNotIndex{\mlastyle@timesfalse}
+% \DoNotIndex{\mlastyle@timestrue}
+% \DoNotIndex{\mlastyle@underlinefalse}
+% \DoNotIndex{\mlastyle@underlinetrue}
+% \DoNotIndex{\month}
+% \DoNotIndex{\newblock}
+% \DoNotIndex{\newcommand}
+% \DoNotIndex{\newenvironment}
+% \DoNotIndex{\newif}
+% \DoNotIndex{\newpage}
+% \DoNotIndex{\noindent}
+% \DoNotIndex{\normalsize}
+% \DoNotIndex{\notesname}
+% \DoNotIndex{\number}
+% \DoNotIndex{\or}
+% \DoNotIndex{\p@}
+% \DoNotIndex{\pagestyle}
+% \DoNotIndex{\par}
+% \DoNotIndex{\parindent}
+% \DoNotIndex{\parsep}
+% \DoNotIndex{\penalty}
+% \DoNotIndex{\relax}
+% \DoNotIndex{\renewcommand}
+% \DoNotIndex{\renewenvironment}
 % \DoNotIndex{\reset@font}
-% \DoNotIndex{\rightmargin,\rlap,\rmfamily}
-% \DoNotIndex{\setbox,\setcounter,\setlength}
-% \DoNotIndex{\skip,\slshape,\space}
-% \DoNotIndex{\trivlist,\typeout,\tw@}
-% \DoNotIndex{\voffset,\vskip,\vspace,\year,\z@}
+% \DoNotIndex{\rhead}
+% \DoNotIndex{\setlength}
+% \DoNotIndex{\settowidth}
+% \DoNotIndex{\sfcode}
+% \DoNotIndex{\skip}
+% \DoNotIndex{\sloppy}
+% \DoNotIndex{\space}
+% \DoNotIndex{\string}
+% \DoNotIndex{\sw@llow}
+% \DoNotIndex{\the}
+% \DoNotIndex{\thepage}
+% \DoNotIndex{\topsep}
+% \DoNotIndex{\usecounter}
+% \DoNotIndex{\vskip}
+% \DoNotIndex{\write}
+% \DoNotIndex{\year}
+% \DoNotIndex{\z@}
+% \DoNotIndex{\evensidemargin}
+% \DoNotIndex{\headheight}
+% \DoNotIndex{\headsep}
+% \DoNotIndex{\hoffset}
+% \DoNotIndex{\marginparwidth}
+% \DoNotIndex{\oddsidemargin}
+% \DoNotIndex{\raggedbottom}
+% \DoNotIndex{\raggedright}
+% \DoNotIndex{\textheight}
+% \DoNotIndex{\textwidth}
+% \DoNotIndex{\topmargin}
+% \DoNotIndex{\voffset}
+% \DoNotIndex{\paperheight}
+% \DoNotIndex{\paperwidth}
+% \DoNotIndex{\pdfpageheight}
+% \DoNotIndex{\pdfpagewidth}
+% \DoNotIndex{\special}
 %
 % \newcommand*{\Lopt}[1]{\textsf {#1}}
 % \newcommand*{\file}[1]{\texttt {#1}}
 %\usepackage{mlastyle}
 %
 %\author{John Doe}
-%\professor{Professor Smith}
-%\classname{English 101}
+%\instructor{Professor Smith}
+%\course{English 101}
 %\date{1~Jan.\ 1970}
 %\title{The Futility of Compulsory English Classes}
 %
 %\end{document}\end{verbatim}
 % \subsection{Initiation Macros}
 % \DescribeMacro{\maketitle}
-% \DescribeMacro{\professor}
-% \DescribeMacro{\classname}
+% \DescribeMacro{\instructor}
+% \DescribeMacro{\course}
 % The mandatory heading\index{heading|usage} is generated with
 % |\maketitle|.  Use the standard macros |\author|, |\title|, and |\date|
-% to specify the relevant information.  To define the professor and name
-% of the class, use the aptly named |\professor|\marg{name} and
-% |\classname|\marg{class} macros.
+% to specify the relevant information.  To define the instructor and name
+% of the course, use the aptly named |\instructor|\marg{instructor} and
+% |\instructor|\marg{course} macros.
 %
-% \DescribeMacro{\lastname}
+% \DescribeMacro{\surname}
 % The last name for use in the header\index{header|usage} is derived from
 % |\author|.  If this does not produce the desired result, use
-% |\lastname|\marg{last name} to override it.
+% |\surname|\marg{last name} to override it.
 %
 % \DescribeMacro{\date}
 % \DescribeMacro{\today}
 %
 % \subsection{Documentating Sources}
 %
-% Coupled with \BibTeX, \package{mlastyle} provides a experimental
-% implementation of MLA documentation style.  Load the bibliography style
-% by putting |\bibliographystyle{mlastyle}| in the document preamble.
+% Coupled with \BibTeX\index{BibTeX\actualchar\BibTeX|usage}
+% \package{mlastyle} provides a experimental implementation of MLA
+% documentation style.  Put |\bibliographystyle{mlastyle}| in the document
+% preamble to load the bibliography style.
 %
 % \StopEventually{\PrintChanges\PrintIndex}
+%
+% \section{Implementation}
 % \iffalse
 %<*package>
 % \fi
-% \section{Implementation}
-%
 % \subsection{Options}
 %
-% First, the options.
+% \begin{macro}{\ifmlastyle@*}
+% \begin{macro}{\mlastyle@*true}
+% \begin{macro}{\mlastyle@*false}
+% Most options are implemented by modifying a |\newif| declared for this
+% purpose.
 %    \begin{macrocode}
 \newif\ifmlastyle@bibstyle
 \DeclareOption{bibstyle}{\mlastyle@bibstyletrue}
 \DeclareOption{nobibstyle}{\mlastyle@bibstylefalse}
-%    \end{macrocode}
-%    \begin{macrocode}
 \newif\ifmlastyle@papersize
 \DeclareOption{papersize}{\mlastyle@papersizetrue}
 \DeclareOption{nopapersize}{\mlastyle@papersizefalse}
 \ExecuteOptions{nobibstyle,nopapersize,mla,cm,doublespacequotes}
 \ProcessOptions
 %    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
 % If the \Lopt{papersize} option is set, add the appropriate
 % \textsc{PostScript} special, or adjust |\pdfpagewidth| and
 % |\pdfpageheight| if pdf\LaTeX{} is in use.
 \fi % \ifmlastyle@times
 %    \end{macrocode}
 % \subsection{Macros}
-% \begin{macro}{\professor}
-% Define the professor.
+% \begin{macro}{\instructor}
+% Define the instructor, along with an obsolete synonym.
 %    \begin{macrocode}
-\def\professor#1{\gdef\theprofessor{#1}}
+\def\instructor#1{\gdef\mlastyle@instructor{#1}}
+\let\professor\instructor
 %    \end{macrocode}
 % \end{macro}
-% \begin{macro}{\classname}
-% Define the class.
+% \begin{macro}{\course}
+% Define the course, along with an obsolete synonym.
 %    \begin{macrocode}
-\def\classname#1{\gdef\theclassname{#1}}
+\def\course#1{\gdef\mlastyle@course{#1}}
+\let\classname\course
 %    \end{macrocode}
 % \end{macro}
-% \begin{macro}{\lastname}
-% Define the last name.
+% \begin{macro}{\surname}
+% Define the surname, along with an obsolete synonym.
 %    \begin{macrocode}
-\def\lastname#1{\gdef\thelastname{#1}}
+\def\surname#1{\gdef\mlastyle@surname{#1}}
+\def\mlastyle@surname{\def\sw@llow##1 {}\expandafter\sw@llow\@author}
+\let\lastname\surname
 %    \end{macrocode}
 % \end{macro}
 % \subsection{Formatting}
 %    \begin{macrocode}
   \renewcommand{\maketitle}{\begin{flushleft}
     \@author\par
-    \@ifundefined{theprofessor}{}{\theprofessor}\par
-    \@ifundefined{theclassname}{}{\theclassname}\par
+    \@ifundefined{mlastyle@instructor}{}{\mlastyle@instructor}\par
+    \@ifundefined{mlastyle@course}{}{\mlastyle@course}\par
     \@date\end{flushleft}
     \begin{center}\@title\end{center}\par
   }
 %    \end{macrocode}
 % \end{macro}
 % \begin{macro}{\section}
+% \begin{macro}{\subsection}
 % Sections are formatted by centering the section name and beginning a new
 % page.  Subsections simply center the section name.
 %    \begin{macrocode}
     }{0pt}{1sp}{\centering}}
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 % \subsubsection{Environments}
 % ^^A%\newenvironment{blocks}{\begin{quote} \linespread{1} \small \normalsize}{\end{quote} \linespread{2} \small \normalsize}
 % ^^A%\newenvironment{blockm}{\begin{quotation} \linespread{1} \small \normalsize}{\end{quotation} \linespread{2} \small \normalsize}
 % right margin at .5 inches from the top of the page.
 % ^^A%\settoheight{\headheight}{\llap{\parbox[b]{\textwidth}{\large\raggedleft Pope}}}
 %    \begin{macrocode}
-  \setlength{\voffset}{-0.5in}
+  \addtolength{\voffset}{-0.5in}
   \setlength{\textheight}{\paperheight}
   \addtolength{\textheight}{-2in}
   \setlength{\topmargin}{0in}
-  \addtolength{\headheight}{-1pt}
-  \setlength{\headheight}{1.4\headheight}% kludge
+  %\addtolength{\headheight}{-1pt}
+  %\setlength{\headheight}{1.4\headheight}% kludge
+  \setlength\headheight\f@baselineskip
   \setlength{\headsep}{0.5in}
   \addtolength{\headsep}{-\headheight}
   \setlength{\footskip}{0.25in}
 %    \end{macrocode}
 % Left and right margins in MLA format are each 1 inch wide.
 %    \begin{macrocode}
-  \setlength{\hoffset}{-0.5in}
+  \addtolength{\hoffset}{-0.5in}
   \setlength{\textwidth}{\paperwidth}
   \addtolength{\textwidth}{-2in}
   \setlength{\oddsidemargin}{0.5in}
   \fancypagestyle{plain}{\fancyhf{}}
   \fancypagestyle{mlastyle}{
     \fancyhf{}
-    \def\sw@llow##1 {}
-    \rhead{\@ifundefined{thelastname}%
-      {\expandafter\sw@llow\@author}{\thelastname} \thepage}
+    \rhead{\mlastyle@surname{} \thepage}
     \renewcommand{\headrulewidth}{0pt}
     \renewcommand{\footrulewidth}{0pt}
   }
   \fi
 %    \end{macrocode}
 % \subsubsection{Miscellaneous}
-% With all packages loaded, we can now redefine |/|.
-%    \begin{macrocode}
-  \catcode`/=13
-  \let/=\mlastyle@slash
-%    \end{macrocode}
 % The definition of |\thebibliography| varies depending on the document
 % class.
 %    \begin{macrocode}
       \def\newblock{}
       \usecounter{enumiv}
       \sloppy%\sfcode`\.=1000\relax
+      \catcode`/=13
+      \let/=\mlastyle@slash
       }}
 %    \end{macrocode}
 % Report/book class.
       \def\newblock{}
       \usecounter{enumiv}
       \sloppy%\sfcode`\.=1000\relax
+      \catcode`/=13
+      \let/=\mlastyle@slash
       }}
 %    \end{macrocode}
 % We're done formatting!
 % \end{macro}
 % \subsubsection{MLA Style}
 % \begin{macro}{\citeM}
-% If the \Lopt{compat} option is {\em not\/} used, the following is
+% If the \Lopt{mla} or \Lopt{style} options are used, the following is
 % executed.
 %    \begin{macrocode}
 \ifmlastyle@style
 %
 % \Finale
 \endinput
+% vim:tw=74