%<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}
-\iftrue
- \usepackage[compat]{mlastyle}
- \addtolength{\headsep}{-25pt}
- \addtolength{\headheight}{-12pt}
- \addtolength{\topmargin}{-17pt}
- \addtolength{\textheight}{58pt}
- \IfFileExists{ulem.sty}{\usepackage[normalem]{ulem}}{\let\uline\emph}
-\else
+\iffalse
\usepackage[mla]{mlastyle}
+ \bibliographystyle{mlastyle}
\addtolength{\marginparwidth}{1in}
\addtolength{\textwidth}{-1in}
\addtolength{\headwidth}{-1in}
+\else
+ \usepackage[compat]{mlastyle}
+ \bibliographystyle{plain}
+ %\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}}%
% \DoNotIndex{\G@refundefinedtrue}
% \DoNotIndex{\ProcessOptions}
% \DoNotIndex{\RequirePackage}
+% \DoNotIndex{\UL@start,\UL@stop}
% \DoNotIndex{\addtolength}
% \DoNotIndex{\advance}
% \DoNotIndex{\baselineskip}
% \DoNotIndex{\def}
% \DoNotIndex{\do}
% \DoNotIndex{\edef}
+% \DoNotIndex{\egroup}
% \DoNotIndex{\else}
% \DoNotIndex{\end}
% \DoNotIndex{\endcsname}
% \surname{Pope}
%
% \maketitle
+%
% \tableofcontents
%
% \section{Introduction}
%
-% MLA style, consisting of a set of documentation conventions, has
-% gained widespread acceptance in the humanities. \LaTeX{} is a
+% ^^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
%\instructor{Professor Smith}
%\course{English 101}
%\date{1~Jan.\ 1970}
-%\title{The Inherent Sadism of Compulsory English Classes}
+%\title{The Sadism Inherent in Compulsory English Classes}
%
%\begin{document}
%\maketitle
% \package{mlastyle}.
%
% \subsubsection{Italics vs.\ Underlining} \index{underlining|usage}
-% \index{italics|usage}
-% MLA format dictates that emphasis should be indicated by underlining the
-% text. Thus, the \package{ulem} package, which underlines all emphasized
+% \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}
%\begin{verbatim}
%\begin{thebibliography}{}
%
-%\bibitem[Lamport]{latex}
+%\bibitem[Lamport]{latexdps}
%Lamport, Leslie.
-%\newblock {\em \LaTeX: A Document Preparation System}.
+%\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 |latex| is the marker used to reference it (see
+% 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
% |\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 |\citeN|, explained below, can be used.
+% To work around this limitation, use |\citeN|, 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 Brown 6)}---can be
+% 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{\citeN}|\citeN|. This was
% intended for use in cross references, but it can also help in citing
% multiple works. The result of
-% |(\citeN[42]{knuth}|\texttt{; }|\citeN[69]{lamport})|
+% |(\citeN[42]{texbook}|\texttt{; }|\citeN[69]{latexdps})|
% would be something like \examp[.]{(Knuth 42; Lamport 69)}
%
% \subsubsection{Using {\rm \BibTeX}} \label{sec:bibtex}
% 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; instead,
-% another example is provided. To use it, substitute
+% 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{latex,
+%@BOOK{latexdps,
% AUTHOR = "Leslie Lamport",
-% TITLE = "\LaTeX: A Document Preparation System",
-% KEY = "\LaTeX",
+% 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{lamport}| to yield \examp{(Lamport,
-% \emph{\LaTeX\/})} instead of \examp[.]{(Lamport, \emph{\LaTeX: A Document
-% Preparation System\/})}
+% 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\PrintIndex}
+% \StopEventually{\PrintChanges\bibliography{mlastyle}\PrintIndex}
%
% \section{Implementation}
-% \iffalse
+% \begin{macrocode}
%<*package>
-% \fi
-% \subsection{Options}
+% \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 this
+% Most options are implemented by modifying a |\newif| declared for that
% purpose.
% \begin{macrocode}
\newif\ifmlastyle@bibstyle
\fi
\fi % \ifmlastyle@bibstyle
% \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
% \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}
% ^^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{macrocode}
{ \def\thebibliography#1{\newpage\section*{\refname}
\list{\@biblabel{\@arabic\c@enumiv}}%
- {\settowidth\labelwidth{\@biblabel{#1}}}
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \itemindent-\leftmargin
- \def\newblock{}
- \usecounter{enumiv}
- \sloppy%\sfcode`\.=1000\relax
- \catcode`/=13\let/=\mlastyle@slash}}
+ {\settowidth\labelwidth{\@biblabel{#1}}}
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \itemindent-\leftmargin
+ \def\newblock{}
+ \usecounter{enumiv}
+ %\catcode`\/=13\global\let/=\mlastyle@slash
+ \sloppy%\sfcode`\.=\@m
+ }}
% \end{macrocode}
% Report/book class.
% \begin{macrocode}
{ \def\thebibliography#1{\chapter*{\bibname}
\list{\@biblabel{\@arabic\c@enumiv}}%
- {\settowidth\labelwidth{\@biblabel{#1}}}
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \itemindent-\leftmargin
- \def\newblock{}
- \usecounter{enumiv}
- \sloppy%\sfcode`\.=1000\relax
- \catcode`/=13\let/=\mlastyle@slash}}
+ {\settowidth\labelwidth{\@biblabel{#1}}}
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \itemindent-\leftmargin
+ \def\newblock{}
+ \usecounter{enumiv}
+ %\catcode`/=13\let/=\mlastyle@slash
+ \sloppy%\sfcode`\.=\@m
+ }}
% \end{macrocode}
% \end{environment}
% \begin{macrocode}
% \end{macrocode}
% \end{macro}
% \subsubsection{MLA Style}
+% \begin{macro}{\@cite}
% \begin{macro}{\citeM}
% If the \Lopt{mla} or \Lopt{style} options are used, the following is
% executed.
\let\citeC\mlastyle@relax
% \end{macrocode}
% \end{macro}
+% \end{macro}
% \iffalse
% Place commas in-between citations in the same |\citeyear|, |\citeyearNP|,
% |\citeN|, or |\shortciteN| command.
\let\cite\mlastyle@cite
\let\citepage\mlastyle@cite
\let\citeindirect\mlastyle@cite
- \newcommand{\citeC}[2][]{ \@tempswafalse\@citex[]{#2}}
+ \newcommand{\citeC}[2][]{~\@tempswafalse\@citex[]{#2}}
\let\citeM\mlastyle@relax
\let\citepageM\mlastyle@relax
\let\citeindirectM\mlastyle@relax
% ^^A\end{macro}
% \end{macro}
% \end{macro}
-% \iffalse
+% \begin{macrocode}
%</package>
-% \fi
+% \end{macrocode}
%
% \Finale
\endinput