% \iffalse meta-comment
%
% 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
% of this license or (at your option) any later version.
% The latest version of this license is in:
%
%    http://www.latex-project.org/lppl.txt
%
% and version 1.2 or later is part of all distributions of LaTeX 
% version 1999/12/01 or later.
%
% \fi
%
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{mlastyle}
%<package>   [2003/11/09 v0.9 MLA format and documentation style]
%
%<*driver>
\begin{filecontents}{mlastyle.bib}
@PREAMBLE{"\def\BibTex{\rmfamily B\kern -.05em\textsc {i\kern -.025emb}\kern -.08emT\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}"}

@BOOK{handbook,
  AUTHOR = "Joseph Gibaldi",
  TITLE = "MLA Handbook for Writers of Research Papers",
  KEY = "MLA Handbook",
  EDITION = "Sixth",
  ADDRESS = "New York",
  PUBLISHER = "MLA",
  YEAR = "2003"}

@BOOK{latexdps,
  AUTHOR = "Leslie Lamport",
  TITLE = "{\LaTeX}: A Document Preparation System",
  KEY = "{\LaTeX}",
  EDITION = "Second",
  ADDRESS = "Reading",
  PUBLISHER = "Addison-Wesley",
  YEAR = "1994"}

@MANUAL{lshort,
  AUTHOR  = "Tobias Oetker and Hubert Partl and Irene Hyna and Elisabeth 
Schlegl",
  TITLE   = "The Not So Short Introduction to {\LaTeXe}",
  KEY     = "Not So Short",
  YEAR    = "2000",
  MONTH   = dec,
  VERSION = "4.0",
  ACCESSDATE = "1~"#nov#"~2003",
  URL     = "CTAN://info/lshort/"}

@MANUAL{btxdoc,
  AUTHOR  = "Oren Patashnik",
  TITLE   = "{\BibTex ing}",
  YEAR    = "1988",
  MONTH   = feb,
  ACCESSDATE = "1~"#nov#"~2003",
  URL     = "CTAN://biblio/bibtex/distribs/doc/btxdoc.tex"}
\end{filecontents}
\documentclass[draft]{ltxdoc}
\iffalse
  \usepackage[mla]{mlastyle}
  \bibliographystyle{mlastyle}
  \addtolength{\marginparwidth}{1in}
  \addtolength{\textwidth}{-1in}
  \addtolength{\headwidth}{-1in}
\else
  \IfFileExists{natbib.sty}{
    \usepackage{natbib}
    \citeindextrue
    \bibpunct{[}{]}{,}{n}{}{,}%{
    \bibliographystyle{plainnat}}
    {\bibliographystyle{plain}}
  \IfFileExists{url.sty}{\usepackage{url}}{}
  \usepackage[compat]{mlastyle}
  %\addtolength{\headsep}{-5pt}
  %\addtolength{\headheight}{-12pt}
  %\addtolength{\topmargin}{-17pt}
  %\addtolength{\textheight}{22pt}
  \IfFileExists{ulem.sty}{\usepackage[normalem]{ulem}}{\let\uline\emph}
\fi
\IfFileExists{times.sty}%
{\newcommand{\examp}[2][]{{\let\emph\uline\fontfamily{ptm}\selectfont##2}##1}}%
{\newcommand{\examp}[2][]{``##2##1''}}

{\makeatletter\gdef\NAT@MLA#1{#1}\gdef\NAT@idxtxt
{\expandafter\NAT@MLA\NAT@name{} \NAT@open\NAT@num\NAT@close}}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
%\OnlyDescription
\begin{document}
  \DocInput{mlastyle.dtx}
\end{document}
%</driver>
% \fi
%
% \CheckSum{0}
%
% \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         \~}
%
%
% \changes{v0.9}{2003/11/09}{Converted to \texttt{dtx} file}
% \changes{v0.8}{2003/10/15}{Initial version}
%
% \GetFileInfo{mlastyle.sty}
%
% \makeatletter ^^A Get |\ | out of my index, damn it!
% \def\DoNotIndex{\begingroup \MakePrivateLetters
% \catcode`\\12
% \catcode`\ 12
% \do@not@index}
% \index@excludelist{\ }
% \makeatother
% \DoNotIndex{\ ,\:,\/,\.}
% \DoNotIndex{\@afterindentfalse,\@afterindenttrue}
% \DoNotIndex{\@arabic}
% \DoNotIndex{\@author}
% \DoNotIndex{\@auxout}
% \DoNotIndex{\@biblabel,\@citea,\@citeb,\@citex}
% \DoNotIndex{\@date}
% \DoNotIndex{\@empty}
% \DoNotIndex{\@for}
% \DoNotIndex{\@ifnextchar,\@ifstar,\@ifundefined}
% \DoNotIndex{\@latex@warning}
% \DoNotIndex{\@listI}
% \DoNotIndex{\@listi,\@listii,\@listiii}
% \DoNotIndex{\@listiv,\@listv,\@listvi}
% \DoNotIndex{\@m}
% \DoNotIndex{\@noitemerr}
% \DoNotIndex{\@setfontsize}
% \DoNotIndex{\@startsection}
% \DoNotIndex{\@tempswafalse}
% \DoNotIndex{\@title}
% \DoNotIndex{\@undefined}
% \DoNotIndex{\@xiipt}
% \DoNotIndex{\@width,\@height,\@depth}
% \DoNotIndex{\@minus,\@plus}
% \DoNotIndex{\DeclareOption}
% \DoNotIndex{\ExecuteOptions}
% \DoNotIndex{\G@refundefinedtrue}
% \DoNotIndex{\NAT@@citetp,\NAT@citetp,\NAT@ctype,\NAT@date,\NAT@sep}
% \DoNotIndex{\hyper@natlinkbreak,\hyper@natlinkend,\hyper@natlinkstart}
% \DoNotIndex{\@citec,\@extra@b@citeb,\@firstofone,\@namedef}
% \DoNotIndex{\NAT@@close,\NAT@@open,\NAT@alias,\NAT@all@names,\NAT@aysep}
% \DoNotIndex{\NAT@cite@list,\NAT@citeundefined,\NAT@cmt,\NAT@exlab}
% \DoNotIndex{\NAT@last@nm,\NAT@last@yr,\NAT@name,\NAT@nm,\NAT@nmfmt}
% \DoNotIndex{\NAT@parse,\NAT@sort@cites,\NAT@temp,\NAT@year,\NAT@yrsep}
% \DoNotIndex{\ifNAT@par,\ifNAT@swa,\ifNAT@full,\ifNAT@longnames}
% \DoNotIndex{\PackageWarning,\PackageWarningNoLine,\MessageBreak}
% \DoNotIndex{\ProcessOptions}
% \DoNotIndex{\RequirePackage}
% \DoNotIndex{\UL@start,\UL@stop}
% \DoNotIndex{\url@samestyle,\urlstyle,\UrlBigBreaks,\UrlBreakPenalty}
% \DoNotIndex{\do@url@hyp}
% \DoNotIndex{\abovedisplayskip,\abovedisplayshortskip}
% \DoNotIndex{\belowdisplayshortskip,\belowdisplayskip}
% \DoNotIndex{\addtolength}
% \DoNotIndex{\advance}
% \DoNotIndex{\baselineskip,\lineskip,\lineskiplimit}
% \DoNotIndex{\bibpreamble,\bibpunct,\bibsep}
% \DoNotIndex{\begin}
% \DoNotIndex{\bfseries}
% \DoNotIndex{\bgroup,\egroup,\begingroup,\endgroup}
% \DoNotIndex{\c@enumiv}
% \DoNotIndex{\catcode}
% \DoNotIndex{\centering}
% \DoNotIndex{\centerline}
% \DoNotIndex{\chapter}
% \DoNotIndex{\citation}
% \DoNotIndex{\citet,\citep}
% \DoNotIndex{\clearpage}
% \DoNotIndex{\color@begingroup,\color@endgroup}
% \DoNotIndex{\csname}
% \DoNotIndex{\day}
% \DoNotIndex{\def}
% \DoNotIndex{\do}
% \DoNotIndex{\edef}
% \DoNotIndex{\else}
% \DoNotIndex{\end}
% \DoNotIndex{\endnote,\footnote}
% \DoNotIndex{\endcsname}
% \DoNotIndex{\endlist}
% \DoNotIndex{\exhyphenpenalty}
% \DoNotIndex{\expandafter}
% \DoNotIndex{\f@baselineskip}
% \DoNotIndex{\fancyhf}
% \DoNotIndex{\fancypagestyle}
% \DoNotIndex{\fi}
% \DoNotIndex{\futurelet}
% \DoNotIndex{\gdef}
% \DoNotIndex{\global}
% \DoNotIndex{\hbox,\hfill,\hrule}
% \DoNotIndex{\hangindent}
% \DoNotIndex{\headrulewidth,\footrulewidth}
% \DoNotIndex{\ignorespaces}
% \DoNotIndex{\if@filesw}
% \DoNotIndex{\if@tempswa}
% \DoNotIndex{\if,\ifcase,\ifcat,\ifdim,\ifhmode,\ifnum,\ifx}
% \DoNotIndex{\ifmlastyle@bibstyle}
% \DoNotIndex{\ifmlastyle@format}
% \DoNotIndex{\ifmlastyle@pages}
% \DoNotIndex{\ifmlastyle@papersize}
% \DoNotIndex{\ifmlastyle@style}
% \DoNotIndex{\ifmlastyle@times}
% \DoNotIndex{\ifmlastyle@underline}
% \DoNotIndex{\immediate}
% \DoNotIndex{\insert,\insertpenalties}
% \DoNotIndex{\item}
% \DoNotIndex{\itemindent}
% \DoNotIndex{\itemsep}
% \DoNotIndex{\kern}
% \DoNotIndex{\labelsep,\labelwidth}
% \DoNotIndex{\lastname,\citeN}
% \DoNotIndex{\leaders}
% \DoNotIndex{\leavevmode}
% \DoNotIndex{\leftmargin}
% \DoNotIndex{\leftmargini,\leftmarginii,\leftmarginiii}
% \DoNotIndex{\leftmarginiv,\leftmarginv,\leftmarginvi}
% \DoNotIndex{\let,\long}
% \DoNotIndex{\linespread}
% \DoNotIndex{\list}
% \DoNotIndex{\listparindent}
% \DoNotIndex{\mathchardef}
% \DoNotIndex{\makeenmark}
% \DoNotIndex{\mbox}
% \DoNotIndex{\ml@}
% \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@intnfs}
% \DoNotIndex{\mlastyle@pagesfalse}
% \DoNotIndex{\mlastyle@pagestrue}
% \DoNotIndex{\mlastyle@papersizefalse}
% \DoNotIndex{\mlastyle@papersizetrue}
% \DoNotIndex{\mlastyle@prevsplit}
% \DoNotIndex{\mlastyle@qspread}
% \DoNotIndex{\mlastyle@sl@sh}
% \DoNotIndex{\mlastyle@slash}
% \DoNotIndex{\mlastyle@slashnext}
% \DoNotIndex{\mlastyle@slashx}
% \DoNotIndex{\mlastyle@star}
% \DoNotIndex{\mlastyle@stylefalse}
% \DoNotIndex{\mlastyle@styletrue}
% \DoNotIndex{\mlastyle@surname}
% \DoNotIndex{\mlastyle@timesfalse}
% \DoNotIndex{\mlastyle@timestrue}
% \DoNotIndex{\mlastyle@underlinefalse}
% \DoNotIndex{\mlastyle@underlinetrue}
% \DoNotIndex{\mlastyle@urldate}
% \DoNotIndex{\month}
% \DoNotIndex{\newblock}
% \DoNotIndex{\newcommand}
% \DoNotIndex{\newdimen}
% \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{\protected@xdef}
% \DoNotIndex{\relax}
% \DoNotIndex{\relpenalty}
% \DoNotIndex{\renewcommand}
% \DoNotIndex{\renewenvironment}
% \DoNotIndex{\rhead}
% \DoNotIndex{\reset@font,\selectfont}
% \DoNotIndex{\rule,\strut,\strutbox}
% \DoNotIndex{\splittopskip}
% \DoNotIndex{\setlength}
% \DoNotIndex{\settowidth}
% \DoNotIndex{\sfcode}
% \DoNotIndex{\skip}
% \DoNotIndex{\sloppy}
% \DoNotIndex{\space}
% \DoNotIndex{\string}
% \DoNotIndex{\the}
% \DoNotIndex{\thebibliography}
% \DoNotIndex{\thepage}
% \DoNotIndex{\topsep}
% \DoNotIndex{\usecounter}
% \DoNotIndex{\unskip}
% \DoNotIndex{\vbox,\vskip,\vss}
% \DoNotIndex{\xdef}
% \DoNotIndex{\write}
% \DoNotIndex{\year}
% \DoNotIndex{\z@}
% \DoNotIndex{\footnotesep,\footins,\@finalstrut,\@makefnmark}
% \DoNotIndex{\bibhang}
% \DoNotIndex{\evensidemargin}
% \DoNotIndex{\headheight}
% \DoNotIndex{\headsep,\footskip}
% \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}
%
% \hyphenation{pre-am-ble wide-spread}
%
% \newcommand{\Lopt}[1]{\textsf {#1}}
% \newcommand{\file}[1]{\texttt {#1}}
% \newcommand{\package}[1]{\textsf {#1}}
% ^^A\newcommand{\Lcount}[1]{\textsl {\small#1}}
% ^^A\newcommand{\pstyle}[1]{\textsl {#1}}
%
% \newcommand{\OptionIndex}[1]{\index{#1\actualchar\Lopt{#1} (option)\encapchar usage}\index{options:\levelchar\Lopt{#1}}}
%
% \title{The \package{mlastyle} package\thanks{This document
%   corresponds to \package{mlastyle}~\fileversion, dated \filedate.}}
% \author{Tim Pope \\ \texttt{latex@rebelongto.us}}
% \surname{Pope}
%
% \maketitle
%
% \tableofcontents
%
% \section{Introduction}
%
% ^^A MLA style, consisting of a set of documentation conventions, has
% ^^A gained widespread acceptance in the humanities.
% According to the {\em MLA Handbook for Writers of Research
% Papers}\citeC{handbook}, MLA style is a set of ``commonly agreed-on
% rules for documenting quotations, facts, opinions and paraphrases'' that
% ``is preferred by a substantial majority of scholarly journals in
% language and literature{\makeatletter\ifmlastyle@style
% .''\citeM[xvi]{handbook}\else.''\fi} \LaTeX{} is a
% document preparation system enjoying popularity in the scientific field.
% It should come as no surprise that complete, up-to-date implementations
% of MLA style for \LaTeX{} are in short supply.  The \LaTeX{} package
% \package{mlastyle} aims to fill this void.
%
% \section{Usage}
%
% A sample document follows.
% \begin{verbatim}
%\documentclass[12pt]{article}
%\usepackage{mlastyle}
%
%\author{John Doe}
%\instructor{Professor Smith}
%\course{English 101}
%\date{1~Jan.\ 1970}
%\title{The Sadism Inherent in Compulsory English Classes}
%
%\begin{document}
%\maketitle
%'Nuff said.
%\end{document}\end{verbatim}
% \subsection{Initialization Macros}
% The \index{heading|usage}mandatory heading is generated with
% \DescribeMacro{\maketitle}|\maketitle|.  Use the standard macros
% |\author|, |\title|, and |\date| to specify the relevant information.
% To define the instructor and name of the course, use the aptly named
% \DescribeMacro{\instructor}|\instructor|\marg{instructor} and
% \DescribeMacro{\course}|\course|\marg{course} macros.
%
% The last name for use in the header\index{header|usage} is derived from
% |\author|.  If this does not produce the desired result, use
% \DescribeMacro{\surname}|\surname|\marg{last name} to override it.
%
% MLA style recommends the DD~Mon.~YYYY format for specifying dates;
% \DescribeMacro{\today}|\today| has been conveniently redefined to this.
% However, other formats can be used as long as done so consistently
% throughout the document.  Also note that the date in the
% heading\index{heading|usage} should be the due date of the assignment;
% students who finish assignments early would be wise to call
% |\date|\marg{due date}.
%
% \subsection{Environments}
% Three environments have been modified from standard \LaTeX to better
% suit MLA format.  To typeset \index{poetry|usage}poetry and
% \index{drama|usage}drama, use the \DescribeEnv{verse}|verse|
% environment.  Quotations\index{quotations|usage} of a single paragraph
% or less always use the \DescribeEnv{quote}|quote| environment.  For
% longer passages, use the \DescribeEnv{quotation}|quotation| environment
% if the beginning of the passage marks the beginning of a paragraph.
% Otherwise, use the |quote| environment.
%
% Be sure to follow MLA guidelines when using these environments.  Short
% quotes should be enclosed in quotation marks and included directly in
% the text.
%
% \subsection{Modes of Operation}
% The \package{mlastyle} package has four basic modes of operations,
% selected with one of four mutually exclusive options.  The
% \OptionIndex{format}\Lopt{format}
% option tells \package{mlastyle} to use MLA format (i.e., 1 inch margins,
% double-spaced, etc.).  The \OptionIndex{style}\Lopt{style} option tells
% \package{mlastyle} to use MLA style (i.e., the format of parenthetical
% documentation, etc).  Each of these options
% disables the other; to use both MLA format and MLA style, specify the
% \OptionIndex{mla}\Lopt{mla} option, or nothing at all.
%
% To disable both MLA style and MLA format, use the
% \OptionIndex{compat}\Lopt{compat} option.  This differs from omitting
% the package entirely in that certain macros are still defined (e.g.,
% |\instructor|).  Also, citations are handled a bit differently than in
% standard \LaTeX{} (see section~\ref{sec:documentation}).
%
% In addition to the above, several other options modify the behavior of
% \package{mlastyle}.
%
% \subsubsection{Italics vs.\ Underlining} \index{underlining|usage}
% \index{italics|usage}\label{sec:italics}
% The {\em MLA Handbook\/}\citeC{handbook} dictates that emphasis should
% be indicated by underlining the text\citeM[94]{handbook}.  Thus, the
% \package{ulem} package, which underlines all emphasized
% text, is loaded by default in \Lopt{mla} and \Lopt{format} modes.  To
% disable this, use the \OptionIndex{italics}\Lopt{italics} option.
% Conversely, if underlining is desired in \Lopt{style} or \Lopt{compat}
% mode, the \OptionIndex{underline}\Lopt{underline} option can be used.
%
% \subsubsection{Fonts}
% By default, \package{mlastyle} uses \TeX's standard Computer Modern
% font.  Some profess\-ors\penalty500---particularly those
% concerned with document length---require assignments to be set in
% \examp[.]{Times New Roman}  This can be achieved with the
% \OptionIndex{times}\Lopt{times} option, which simply loads the
% \package{times} package.  This opposite of this option is
% \OptionIndex{cm}\Lopt{cm}, which reverts to Computer Modern.
%
% \index{works cited|usage}
% \subsection{Documenting Sources} \label{sec:documentation}
%
% The \package{mlastyle} package reimplements the
% \DescribeEnv{thebibliography}|thebibliography| environment to generate
% the list of works cited in MLA style.  Instruction in the basic use of
% \LaTeX's bibliography features is beyond the scope of this document;
% however, the following example, which should be included just before
% |\end{document}|, might prove to be a useful starting point:
%\begin{verbatim}
%\begin{thebibliography}{}
%
%\bibitem[Lamport]{latexdps}
%Lamport, Leslie.
%\newblock \emph{\LaTeX: A Document Preparation System}.
%\newblock 2nd.~ed.
%\newblock Reading: Addison-Wesley, 1994.
%
%\end{thebibliography}\end{verbatim}
% In this example, |Lamport| is the author's last name (for use in
% citations) and |latexdps| is the marker used to reference it (see
% section~\ref{sec:parenthetical}).
%
% For information on automatically generating the list of works cited with
% \BibTeX, see section~\ref{sec:bibtex}.
%
% \subsubsection{Parenthetical Documentation} \label{sec:parenthetical}
% A simple citation can by achieved with a call to
% \DescribeMacro{\cite}|\cite|\oarg{pages}\marg{marker}, where
% marker refers to the key given to either
% \index{BibTeX=\BibTeX|usage}\BibTeX{} or the |\bibitem| macro (|latex|
% in the above example).
% Omit \oarg{pages} if the source has no page numbers.
% Multiple sources can be cited using the syntax
% |\cite|\oarg{pages}|{|\meta{marker
% 1}\texttt{,}\penalty\exhyphenpenalty\meta{marker 2}\ldots|}|; however, page
% numbers can currently be specified only for the last referenced source.
% To work around this limitation, use |\citealp|, explained below.
%
% Three additional citation commands are provided, all of which take the
% same arguments as |\cite|.  To omit the author information from the
% citation, use \DescribeMacro{\citepage}|\citepage|.  Indirect
% citations---those of the format \examp{(qtd. in Pope
% \pageref{sec:italics})}---can be
% created with \DescribeMacro{\citeindirect}|\citeindirect|.  Finally, the
% parentheses are omitted by \DescribeMacro{\citealp}|\citealp|.  This was
% intended for use in cross references, but it can also help in citing
% multiple works.  The result of
% |(\citealp[42]{texbook}|\texttt{; }|\citealp[69]{latexdps})|
% would be something like \examp[.]{(Knuth 42; Lamport 69)}
%
% \subsubsection{Using {\rm \BibTeX}} \label{sec:bibtex}
% Coupled with \index{BibTeX=\BibTeX|usage}\BibTeX,
% \package{mlastyle} provides a experimental implementation of MLA
% documentation style.  Put\SpecialUsageIndex{\bibliographystyle}
% |\bibliographystyle{mlastyle}| in the document preamble to load the
% bibliography style.  Alternatively, the
% \OptionIndex{bibstyle}\Lopt{bibstyle} option can handle this
% automatically, loading a bibliography style of |mlastyle| in \Lopt{mla}
% and \Lopt{style} modes and a bibliography style of |plain| in
% \Lopt{format} and \Lopt{compat} modes.
%
% Use of \BibTeX{} is also beyond the scope of this document; consult
% Patashnik\citeC{btxdoc} for an introduction.
% Briefly, to use the following example, substitute
% |\bibliography|\marg{filename} for the |thebibliography| environment.
% Then create \meta{filename}\file{.bib} with the contents below.
% Generating the document entails running \file{latex} on the \file{.tex}
% file, \file{bibtex} on the resulting \file{.aux} file, then \file{latex}
% twice more.
%\begin{verbatim}
%@BOOK{latexdps,
%  AUTHOR = "Leslie Lamport",
%  TITLE = "{\LaTeX}: A Document Preparation System",
%  KEY = "{\LaTeX}",
%  EDITION = "Second",
%  ADDRESS = "Reading",
%  PUBLISHER = "Addison-Wesley",
%  YEAR = "1994"}\end{verbatim}
%
% In \package{mlastyle}, The |KEY| field serves the additional purpose of
% specifying an abbreviated title.  This is unnecessary in the above
% example.  If an additional book by Leslie Lamport was included, however,
% the |KEY| field would allow |\cite{latexdps}| to yield \examp{(Lamport,
% \emph{\LaTeX\/})} instead of \examp[.]{(Lamport, \emph{\LaTeX: A
% Doc\-um\-ent Pre\-pa\-ra\-tion Sys\-tem\/})}
%
% Note that only entries referenced by a citation are included in the list
% of works cited; to force the inclusion of an entry or all entries, use
% |\nocite|\marg{marker} and |\nocite{*}|, respectively.
%
% \StopEventually{\PrintChanges\bibliography{mlastyle}\PrintIndex}
%
% \section{Implementation}
%    \begin{macrocode}
%<*package>
%    \end{macrocode}
%
% \subsection{Options}
% \begin{macro}{\ifmlastyle@*}
% \begin{macro}{\mlastyle@*true}
% \begin{macro}{\mlastyle@*false}
% Most options are implemented by modifying a |\newif| declared for that
% purpose.
%    \begin{macrocode}
\newif\ifmlastyle@bibstyle
\DeclareOption{bibstyle}{\mlastyle@bibstyletrue}
\DeclareOption{nobibstyle}{\mlastyle@bibstylefalse}
\newif\ifmlastyle@papersize
\DeclareOption{papersize}{\mlastyle@papersizetrue}
\DeclareOption{nopapersize}{\mlastyle@papersizefalse}
\newif\ifmlastyle@underline
\DeclareOption{underline}{\mlastyle@underlinetrue}
\DeclareOption{italics}{\mlastyle@underlinefalse}
\newif\ifmlastyle@times
\DeclareOption{times}{\mlastyle@timestrue}
\DeclareOption{cm}{\mlastyle@timesfalse}
\newif\ifmlastyle@style
\DeclareOption{compat}{\mlastyle@stylefalse
	\mlastyle@formatfalse
	\mlastyle@underlinefalse}
\DeclareOption{mla}{\mlastyle@styletrue
	\mlastyle@formattrue
	\mlastyle@underlinetrue}
\newif\ifmlastyle@format
\DeclareOption{format}{\mlastyle@stylefalse
	\mlastyle@formattrue
	\mlastyle@underlinetrue}
\DeclareOption{style}{\mlastyle@styletrue
	\mlastyle@formatfalse
	\mlastyle@underlinefalse}
\DeclareOption{singlespacequotes}{
  \def\mlastyle@qspread{\lineskip=.1\baselineskip%
  \lineskiplimit=\lineskip\linespread{1}\selectfont\vskip\baselineskip}}
\DeclareOption{doublespacequotes}{\let\mlastyle@qspread\relax}
\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.
%    \begin{macrocode}
\ifmlastyle@papersize
  \ifx\@undefined\pdfpagewidth
    \special{papersize=\the\paperwidth,\the\paperheight}
  \else
    \setlength{\pdfpagewidth}{\paperwidth}
    \setlength{\pdfpageheight}{\paperheight}
  \fi
\fi % \ifmlastyle@papersize
%    \end{macrocode}
% \begin{macro}{\UL@onin}
% Load the \package{ulem} package if the \Lopt{underline} option is set.
% By default, \package{ulem} does multiple underlining for nested
% emphasis.  This is changed to MLA-style behavior with the redefinition
% of |\UL@onin|.
%    \begin{macrocode}
\ifmlastyle@underline
  \RequirePackage{ulem}
  \def\UL@onin#1{\egroup\UL@stop#1\UL@start}
\fi % \ifmlastyle@underline
%    \end{macrocode}
% \end{macro}
% Load the \package{times} package if the \Lopt{times} option is set.
%    \begin{macrocode}
\ifmlastyle@times
  \RequirePackage{times}
\fi % \ifmlastyle@times
%    \end{macrocode}
% \subsection{Macros}
% \begin{macro}{\instructor}
% Define the instructor, along with an obsolete synonym.
%    \begin{macrocode}
\def\instructor#1{\gdef\mlastyle@instructor{#1}}
\let\professor\instructor
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\course}
% Define the course, along with an obsolete synonym.
%    \begin{macrocode}
\def\course#1{\gdef\mlastyle@course{#1}}
\let\classname\course
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\surname}
% Define the surname, along with an obsolete synonym.
%    \begin{macrocode}
\def\surname#1{\gdef\mlastyle@surname{#1}}
\def\mlastyle@surname{\def\ml@##1 ##2,##3@@{##2}%
  \def\and##1 {\unskip, }\expandafter\ml@\@author, ,@@}
\let\lastname\surname
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\urldate}
% \begin{macro}{\theurldate}
% These next two respectively set and get the default access date for URLs
% in the works cited.
%    \begin{macrocode}
\def\urldate#1{\gdef\mlastyle@urldate{#1}}
\def\theurldate{\mlastyle@urldate}
\let\mlastyle@urldate\@date
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \subsection{Style}
% \begin{macro}{\bibstyle@mlastyle}
% This first block is the beginnings of an implementation for
% \package{natbib}.  (Surely there is a better way to do this.)
%    \begin{macrocode}
\newcommand{\bibstyle@mlastyle}{%
  \bibpunct[ ]{(}{)}{;}{a}{,}{,}
  \@ifundefined{chapter}
  {\gdef\refname{\newpage Works Cited}}
  {\gdef\bibname{Works Cited}}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\NAT@citex}
% The year field is normally empty but contains the title field if it is
% needed.  This is handled inconsistantly by \package{natbib}, so it is
% fixed up here.
%    \begin{macrocode}
\RequirePackage{natbib}
\def\NAT@citex
  [#1][#2]#3{%
  \NAT@sort@cites{#3}%
  \let\@citea\@empty
  \let\@citec\@empty
  \ifNAT@swa
  \if*#1*\if*#2*\def\@citea{\def\@citec{\NAT@@close}\NAT@@open}\else
  \NAT@@open\def\@citea{\def\@citec
  {\NAT@cmt#2\NAT@@close}}\def\@citec{#2\NAT@@close}\fi\else
  \NAT@@open#1\ \if*#2*\def\@citec{\unskip\NAT@@close}\else
      \def\@citec{#2\NAT@@close}\def\@citea{\def\@citec
      {\NAT@cmt#2\NAT@@close}}\fi\fi
  \fi
  \let\NAT@nm\@empty\let\NAT@year\@empty
    \@for\@citeb:=\NAT@cite@list\do
    {\edef\@citeb{\expandafter\@firstofone\@citeb}%
     \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
     \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
       {\reset@font\bfseries ?}\NAT@citeundefined
                 \PackageWarning{natbib}%
       {Citation `\@citeb' on page \thepage \space undefined}%
       \def\NAT@date{}}%
     {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
     \NAT@parse{\@citeb}%
      \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
        \let\NAT@name=\NAT@all@names
        \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
      \fi
     \ifNAT@full\let\NAT@nm\NAT@all@names\else
       \let\NAT@nm\NAT@name\fi
     \ifNAT@swa\ifcase\NAT@ctype
       \if*\NAT@date*
         \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
         \NAT@nmfmt{\NAT@nm}\NAT@date\hyper@natlinkend
       \else
         \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
         \ifx\NAT@last@yr\@empty\let\NAT@last@yr\relax\fi
            \ifx\NAT@last@yr\NAT@year
              \def\NAT@temp{{?}}%
              \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
              {Multiple citation on page \thepage: same authors and
               year\MessageBreak without distinguishing extra
               letter,\MessageBreak appears as question mark}\fi
              \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
              \hyper@natlinkend
            \else\unskip
            \ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
              \hyper@natlinkend
            \fi
         \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
           \NAT@nmfmt{\NAT@nm}%
           \hyper@natlinkbreak{\NAT@aysep\ }{\@citeb\@extra@b@citeb}%
           \NAT@date\hyper@natlinkend
         \fi
       \fi
       \def\@citea{\NAT@sep\ }%
     \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
         \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
         \def\@citea{\NAT@sep\ }%
     \or\if*\NAT@date*\else
         \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
         \NAT@date\hyper@natlinkend
         \def\@citea{\NAT@sep\ }\fi
     \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
         \NAT@alias\hyper@natlinkend
         \def\@citea{\NAT@sep\ }%
     \fi
     \else\ifcase\NAT@ctype
        \if*\NAT@date*
          \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
          \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
          \if*#1*\def\@citea{\NAT@sep\ }%
            \if*#2*\let\@citec\@empty\else
            \def\@citec{\ \NAT@@open#2\NAT@@close}\fi
            \else\ \NAT@@open\def\@citea{\NAT@@close\NAT@sep\ }
            \if*#2*\def\@citec{\NAT@@close}\else
            \def\@citec{\ #2\NAT@@close}\fi\fi
        \else
         \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
            \ifx\NAT@last@yr\NAT@year
              \def\NAT@temp{{?}}%
              \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
              {Multiple citation on page \thepage: same authors and
               year\MessageBreak without distinguishing extra
               letter,\MessageBreak appears as question mark}\fi
              \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
              \hyper@natlinkend
            \else\unskip
            \ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
              \hyper@natlinkend
            \fi
         \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
           \NAT@nmfmt{\NAT@nm}%
           \hyper@natlinkbreak{\ \NAT@@open\if*#1*\else#1\ \fi}%
              {\@citeb\@extra@b@citeb}%
           \NAT@date\hyper@natlinkend\fi
         \if*#2*\def\@citec{\NAT@@close}\else
         \def\@citec{\NAT@cmt#2\NAT@@close}\fi
         \def\@citea{\NAT@@close\NAT@sep\ }%
        \fi
       \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
         \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
         \if*#2*\let\@citec\@empty\else
         \def\@citec{ \NAT@@open#2\NAT@@close}\fi
         \def\@citea{\NAT@sep\ }%
       \or\if*\NAT@date*\else\@citea
         \NAT@@open
         \def\@citea{\NAT@@close\NAT@sep\ }%
         \if*#2*\def\@citec{\NAT@@close}\else
         \def\@citec{\NAT@cmt#2\NAT@@close}\fi
         \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
         \NAT@date\hyper@natlinkend\fi
       \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
         \NAT@alias\hyper@natlinkend
         \def\@citea{\NAT@sep\ }%
       \fi
     \fi
     }}%
     \@citec\ifhmode\unskip\fi\endgroup}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\NAT@parse@date}
% |\NAT@parse@date| fails if the date contains a control sequence, so it
% is also redefined.
%    \begin{macrocode}
\def\NAT@parse@date#1#2#3#4#5#6@@{%
  \ifcat\relax#1\def\NAT@year{}\def\NAT@exlab{}\else
  \ifcat a#1\def\NAT@year{}\def\NAT@exlab{#1}\else
  \ifcat a#2\def\NAT@year{#1}\def\NAT@exlab{#2}\else
  \ifcat a#3\def\NAT@year{#1#2}\def\NAT@exlab{#3}\else
  \ifcat a#4\def\NAT@year{#1#2#3}\def\NAT@exlab{#4}\else
    \def\NAT@year{#1#2#3#4}\def\NAT@exlab{{#5}}\fi\fi\fi\fi\fi}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\cite}
% \begin{macro}{\citealp}
% ^^A\begin{macro}{\citepage}
% ^^A\begin{macro}{\citequote}
% The following macros, combined with \file{mlastyle.bst}, provide
% for a bibliography in MLA style.  Note that the definition of |\cite|,
% |\citealp|, etc.\ vary depending on the options passed to
% \package{mlastyle}.
%
% \begin{macro}{\mlastyle@intcite}
% The original |\cite| is stored
% in |\mlastyle@intcite|.
%    \begin{macrocode}
%\let\mlastyle@intcite\cite
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\mlastyle@relax}
% This macro does nothing.  Depending on the options, either |\citeC| or
% |\citeM| and its ilk will utilize it.
%    \begin{macrocode}
\newcommand{\mlastyle@relax}[2][]{\unskip}
%    \end{macrocode}
% \end{macro}
% \subsubsection{MLA Style}
% \begin{macro}{\citeM}
% If the \Lopt{mla} or \Lopt{style} options are used, the following is
% executed.
%    \begin{macrocode}
\ifmlastyle@style
%    \end{macrocode}
% If the \Lopt{bibstyle} option is set, specify the bibliography style.
%    \begin{macrocode}
  \ifmlastyle@bibstyle
    \bibliographystyle{mlastyle}
  \fi
%    \end{macrocode}
% \end{macro}
%    \begin{macrocode}
  \let\cite\citep
  \let\mlastyle@citequeue\@empty
  \def\mlastyle@cite#1#2#3{\csname#1\endcsname[#2]{#3}}
  \newcommand\citeflush{\ifhmode\unskip\fi
    \ifx\mlastyle@citequeue\@empty\else\ \let\@citea\relax
    \citetext{\@for\@citeb:=\mlastyle@citequeue\do{\@citea
    \expandafter\mlastyle@cite\@citeb\def\@citea{\NAT@sep\ }}}%
    \global\let\mlastyle@citequeue\@empty\fi}
  \newcommand\mlastyle@citeadd[3]{\ifx\mlastyle@citequeue\@empty
    \xdef\mlastyle@citequeue{{#1}{#2}{#3}}\else
    \xdef\mlastyle@citequeue{\mlastyle@citequeue,%
    {#1}{#2}{#3}}\fi}
  \newcommand\citeadd[2][]{\mlastyle@citeadd{citealp}{#1}{#2}}
  \newcommand\citea{\@ifstar
    {\let\mlastyle@star*\mlastyle@citea}
    {\let\mlastyle@star\@empty\mlastyle@citea}}
  \newcommand\mlastyle@citea[2][]{\expandafter\citeauthor
    \mlastyle@star{#2}\mlastyle@citeadd{citeyear}{#1}{#2}}
  \newcommand\Citea{\@ifstar
    {\let\mlastyle@star*\mlastyle@Citea}
    {\let\mlastyle@star\@empty\mlastyle@Citea}}
  \newcommand\mlastyle@Citea[2][]{\expandafter\Citeauthor
    \mlastyle@star{#2}\mlastyle@citeadd{citeyear}{#1}{#2}}
  \newcommand\citepage[2][]{\citeyearpar[#1]{#2}}
  \newcommand\citepageM[2][]{\unskip\ \citeyearpar[#1]{#2}}
  \newcommand\citeindirect[2][]{\citep[qtd.\ in][#1]{#2}}
  \newcommand\citeindirectM[2][]{\unskip{} \citep[qtd.\ in][#1]{#2}}
  \let\citeN\citealp
  \let\citeC\mlastyle@relax
%    \end{macrocode}
% \subsubsection{Plain Style}
% \begin{macro}{\citeC}
% This next block is used if the \Lopt{compat} or \Lopt{format} option is
% set.
%    \begin{macrocode}
\else
%    \end{macrocode}
% If the \Lopt{bibstyle} option is set, specify the bibliography style.
%    \begin{macrocode}
  \ifmlastyle@bibstyle
    \bibliographystyle{plain}
  \fi
  \ifx\@undefined\citet
    \newcommand{\mlastyle@cite}[2][]{\@tempswafalse\@citex[]{#2}}
    \newcommand{\citeC}[2][]{~\@tempswafalse\@citex[]{#2}}
  \else
    \newcommand{\mlastyle@cite}[2][]{\citep[]{#2}}
    \def\citeC{ \citep}
  \fi
  \let\cite\mlastyle@cite
  \let\citepage\mlastyle@cite
  \let\citeindirect\mlastyle@cite
  \let\citeM\mlastyle@relax
  \let\citepageM\mlastyle@relax
  \let\citeindirectM\mlastyle@relax
\fi
%    \end{macrocode}
% \end{macro}
%
% ^^A\end{macro}
% ^^A\end{macro}
% \end{macro}
% \end{macro}
% \subsection{Formatting}
% \begin{macro}{\urlstyle@mlastyle}
% This first bit is always done, even if formatting is disabled.
%    \begin{macrocode}
\RequirePackage{url}
\def\url@mlastyle{\url@samestyle
  \mathchardef\UrlBreakPenalty 0
  \relpenalty\UrlBreakPenalty
  \def\UrlBigBreaks{\do\/\do@url@hyp}
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\mlastyle@i}
% This is the standard MLA format indent.
%    \begin{macrocode}
  \newdimen\mlastyle@i \mlastyle@i=.5in
%    \end{macrocode}
% \end{macro}
% Everything else is done only if the \Lopt{mla} or \Lopt{format} option
% is set.
%    \begin{macrocode}
\ifmlastyle@format
%    \end{macrocode}
% \subsubsection{Macros}
% \begin{macro}{\maketitle}
% \begin{macro}{\and}
% |\maketitle| generates a heading in MLA format.
%    \begin{macrocode}
  \renewcommand{\maketitle}{%
    \global\@topnum\z@
    \begin{flushleft}%
    \@author\par
    \@ifundefined{mlastyle@instructor}{}{\mlastyle@instructor}\par
    \@ifundefined{mlastyle@course}{}{\mlastyle@course}\par
    \@date\end{flushleft}
    \begin{center}\@title\end{center}\par
  }
  \let\and\par
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macro}{\today}
% |\today| is redefined to DD~Mon.~YYYY format.
%    \begin{macrocode}
\def\today{\number\day~\ifcase\month\or
  Jan.\or Feb.\or Mar.\or Apr.\or May\or June\or July\or 
  Aug.\or Sept.\or Oct.\or Nov.\or Dec.\fi\ \number\year}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\slash}
% No penalty for |\slash|.
% ^^A\let\mlastyle@sl@sh=/
%    \begin{macrocode}
  \edef\slash{/\penalty\z@}
%    \end{macrocode}
% ^^A \def\mlastyle@slash{/\futurelet\mlastyle@slashnext\mlastyle@slashx}
% ^^A \def\mlastyle@slashx{\ifx\mlastyle@slashnext/\else
% ^^A  \penalty\exhyphenpenalty\fi}
% \end{macro}
% \begin{macro}{\@makecaption}
% |\@makecaption| should left align its contents.
%    \begin{macrocode}
\long\def\@makecaption#1#2{\noindent #1\par\noindent #2\strut\par}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\section}
% \begin{macro}{\subsection}
% \begin{macro}{\subsubsection}
% Sections are formatted by centering the section name and beginning a new
% page.  Subsections simply center the section name.
%    \begin{macrocode}
  \renewcommand{\section}{\@startsection{section}{1}{\z@
    }{0pt}{1sp}{\centering}}
  \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@
    }{0pt}{1sp}{\noindent}}
  \renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@
    }{0pt}{1sp}{\noindent}}
%    \end{macrocode}
% ^^A\let\mlastyle@vfont\verbatim@font
% ^^A\def\verbatim@font{\mlastyle@qspread\mlastyle@vfont}
% \end{macro}
% \end{macro}
% \end{macro}
% \subsubsection{Environments}
% ^^A%\newenvironment{blocks}{\begin{quote} \linespread{1} \selectfont}{\end{quote} \linespread{2} \small \selectfont}
% ^^A%\newenvironment{blockm}{\begin{quotation} \linespread{1} \selectfont}{\end{quotation} \linespread{2} \selectfont}
% \begin{environment}{verse}
% Indented 1 inch, with an additional .25 inch hanging indent.
%    \begin{macrocode}
  \renewenvironment{verse}{\list{}{\mlastyle@qspread
    \advance\leftmargin1.5\mlastyle@i\itemindent-.5\mlastyle@i
    \listparindent\itemindent}\item\relax}{\endlist}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{quotation}
% Indented 1 inch, with a paragraph indent of an additional .25 inches.
%    \begin{macrocode}
  \renewenvironment{quotation}{\list{}{\mlastyle@qspread
    \advance\leftmargin\mlastyle@i\itemindent.5\mlastyle@i
    \listparindent\itemindent}\item\relax}{\endlist}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{quote}
% Identical to the |quotation| environment, except the first paragraph is not
% indented.
%    \begin{macrocode}
  \renewenvironment{quote}{\list{}{\mlastyle@qspread
    \advance\leftmargin\mlastyle@i
    \listparindent.5\mlastyle@i}\item\relax}{\endlist}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{workscited}
% \begin{macro}{\bibent}
% Works cited environment, for compatibility with \package{mla-paper}.
%    \begin{macrocode}
  \newenvironment{workscited}%
    {\newpage{\centerline{Works Cited}}}{\newpage}
  \newcommand{\bibent}{\noindent\hangindent\mlastyle@i}
%    \end{macrocode}
% \end{macro}
% \end{environment}
% \subsubsection{Margins}
% Top and bottom margins are 1 inch each.  The header is flush with the
% right margin, .5 inches from the top of the page.
%    \begin{macrocode}
  \addtolength{\voffset}{-.5in}
  \setlength{\textheight}{\paperheight}
  \addtolength{\textheight}{-2in}
  \setlength{\topmargin}{0in}
  \setlength\headheight\f@baselineskip
  \setlength{\headsep}{.5in}
  \addtolength{\headsep}{-\headheight}
  \setlength{\footskip}{0.25in}
  \raggedbottom
%    \end{macrocode}
% Left and right margins in MLA format are each 1 inch wide.
%    \begin{macrocode}
  \addtolength{\hoffset}{-.5in}
  \setlength{\textwidth}{\paperwidth}
  \addtolength{\textwidth}{-2in}
  \setlength{\oddsidemargin}{.5in}
  \setlength{\evensidemargin}{.5in}
  \setlength{\marginparwidth}{.5in}
%    \end{macrocode}
% \subsubsection{Paragraphs}
% Paragraphs should be left justified, with the first line indented .5
% inches.
%    \begin{macrocode}
  \raggedright
  \setlength\parindent\mlastyle@i
%    \end{macrocode}
% MLA format specifies that all paragraphs should be indented, even those
% beginning a new section.  This snippet from \package{indentfirst} changes
% \LaTeX{} to meet that requirement.
%    \begin{macrocode}
  \let\@afterindentfalse\@afterindenttrue
  \@afterindenttrue
%    \end{macrocode}
% Double space {\em everywhere}.  In a 12pt font, the default
% |\baselineskip| is changed from 14.5pt to 14.4pt.
% ^^A\RequirePackage{doublespace}
%    \begin{macrocode}
  \normalsize
  \ifdim\baselineskip=14.5pt
  \renewcommand\normalsize{%
   \@setfontsize\normalsize\@xiipt{14.4}%
   \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}\normalsize
  \fi
  \linespread{2}
  \ifx\relax\mlastyle@qspread
    \lineskiplimit=.5\baselineskip
  \else
    \lineskiplimit=.2\baselineskip
  \fi
  \lineskip=\lineskiplimit
  \leftmargini\parindent
  \def\@listi{\leftmargin\leftmargini
  \parsep\z@\itemsep\z@\topsep -3\p@\relax}
  \let\@listI\@listi
  \@listi
  \def\@listii{\leftmargin\leftmarginii
  \parsep\z@\itemsep\z@\topsep -3\p@\relax}
  \def\@listiii{\leftmargin\leftmarginiii
  \parsep\z@\itemsep\z@\topsep -3\p@\relax}
  \def\@listiv{\leftmargin\leftmarginiv
  \parsep\z@\itemsep\z@\topsep -3\p@\relax}
  \def\@listv{\leftmargin\leftmarginv
  \parsep\z@\itemsep\z@\topsep -3\p@\relax}
  \def\@listvi{\leftmargin\leftmarginvi
  \parsep\z@\itemsep\z@\topsep -3\p@\relax}
%    \end{macrocode}
% \begin{macro}{\nonfrenchspacing}
% Only one space after colons, unless someone else has already tinkered
% with its space factor.
%    \begin{macrocode}
  \let\mlastyle@intnfs\nonfrenchspacing
  \def\nonfrenchspacing{\mlastyle@intnfs
    \ifnum\the\sfcode`\:=2000\sfcode`\:=1999\fi}
\ifnum\the\sfcode`\:=2000\sfcode`\:=1999\fi
%    \end{macrocode}
% \end{macro}
% \subsubsection{Header}
% The last name and page number appear on every page, including the first.
%    \begin{macrocode}
  \RequirePackage{fancyhdr}
  \fancypagestyle{plain}{\fancyhf{}}
  \fancypagestyle{mlastyle}{
    \fancyhf{}
    \rhead{\mlastyle@surname{} \thepage}
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0pt}}
  \pagestyle{mlastyle}
%    \end{macrocode}
% \subsubsection{Notes}
% \begin{macro}{\@footnotetext}
% \begin{macro}{\footnoterule}
% This code is terrible, but seems to work in practice.  Suggestions
% welcome.
%    \begin{macrocode}
  \def\footnoterule{
    \ifnum\mlastyle@prevsplit=\z@\else
      \vbox to \z@{\linespread{1}\normalsize\vss\vbox{\noindent
      \leaders\hrule\@height 3\p@\@depth-2.6\p@
      %\leaders\hbox{-}
      \hfill\strut}\kern\z@}%
    \fi
    \xdef\mlastyle@prevsplit{\the\insertpenalties}}
  \def\mlastyle@prevsplit{0}
  \skip\footins=\f@baselineskip\relax
  \skip\footins=2.15\skip\footins
  \long\def\@footnotetext#1{\insert\footins{%
    \linespread{1}\normalsize
    \splittopskip1.7\baselineskip
    \color@begingroup
    \parindent\mlastyle@i
    \rule\z@{1.7\baselineskip}
    \@makefnmark{}
    \ignorespaces#1\@finalstrut\strutbox
    \color@endgroup}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macro}{\enoteformat}
% \begin{macro}{\enoteheading}
% \begin{macro}{\enotesize}
% Endnotes are supported, but only if the \package{endnotes} package is
% loaded {\em before\/} this package.
%    \begin{macrocode}
  \ifx\@undefined\endnote
  \let\note\footnote\else
    \def\enoteheading{\newpage\section*{\notesname}}
    \def\enoteformat{\leavevmode\makeenmark{} }
    \def\enotesize{\normalsize}
    \let\note\endnote
  \fi
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \subsubsection{Bibliography}
% \begin{macro}{\url@mlastyle}
% |\url| is needed to format urls in the bibliography.
%    \begin{macrocode}
\urlstyle{mla}
%    \end{macrocode}
% \end{macro}
% ^^A\ifx\@undefined\url{
% ^^A  \catcode`/=13
% ^^A    \gdef\url{\bgroup\catcode`/=13
% ^^A    \let/\slash\mlastyle@url}
% ^^A    \gdef\mlastyle@url#1{#1\egroup}}
% ^^A}\fi
% \begin{environment}{thebibliography}
% The definition of |thebibliography| varies depending on the document
% class.
%    \begin{macrocode}
\ifx\@undefined\citet
    \renewenvironment\thebibliography#1{\clearpage
      \@ifundefined{chapter}
        {\section*{\refname}}
        {\chapter*{\bibname}}
      \list{\@biblabel{\@arabic\c@enumiv}}%
        {\settowidth\labelwidth{\@biblabel{#1}}}
        \leftmargin\labelwidth
        \advance\leftmargin\labelsep
        \itemindent-\leftmargin
        \let\newblock\@empty
        %\sfcode`\.=\@m
        \usecounter{enumiv}
        \sloppy
      }
      {\def\@noitemerr
        {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
%    \end{macrocode}
% \end{environment}
% If the \package{natbib} package is loaded, the following is executed
% instead.
%    \begin{macrocode}
\else
  \bibhang\mlastyle@i\bibsep\z@
\fi
%    \end{macrocode}
% ^^A  \newcommand\bibpreamble{%
% ^^A    \@ifundefined{citet}{}%
% ^^A    {\bibhang\mlastyle@i\bibsep\z@}}
%    \begin{macrocode}
\fi % \ifmlastyle@format
%    \end{macrocode}

%    \begin{macrocode}
%</package>
%    \end{macrocode}
%
% \Finale
\endinput
% vim:tw=74
