% \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