%
%<*driver>
\begin{filecontents}{mlastyle.bib}
-@PREAMBLE{"\def\BibTeX#1{\rmfamily B\kern -.05em\textsc {i\kern -.025emb}\kern -.08emT\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}"}
+@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",
@MANUAL{btxdoc,
AUTHOR = "Oren Patashnik",
- TITLE = "{\BibTeX{BibTeX}}ing",
+ TITLE = "{\BibTex ing}",
YEAR = "1988",
MONTH = feb,
ACCESSDATE = "1~"#nov#"~2003",
\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}
- \bibliographystyle{plain}
- \addtolength{\headsep}{-5pt}
+ %\addtolength{\headsep}{-5pt}
%\addtolength{\headheight}{-12pt}
- \addtolength{\topmargin}{-17pt}
- \addtolength{\textheight}{22pt}
+ %\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
% \DoNotIndex{\@listiv}
% \DoNotIndex{\@listv}
% \DoNotIndex{\@listvi}
+% \DoNotIndex{\@m}
% \DoNotIndex{\@startsection}
% \DoNotIndex{\@tempswafalse}
% \DoNotIndex{\@title}
% \DoNotIndex{\addtolength}
% \DoNotIndex{\advance}
% \DoNotIndex{\baselineskip}
+% \DoNotIndex{\bibpreamble,\bibpunct,\bibsep}
% \DoNotIndex{\begin}
% \DoNotIndex{\bfseries}
+% \DoNotIndex{\bgroup}
% \DoNotIndex{\c@enumiv}
% \DoNotIndex{\catcode}
% \DoNotIndex{\centering}
% \DoNotIndex{\centerline}
% \DoNotIndex{\chapter}
% \DoNotIndex{\citation}
+% \DoNotIndex{\citet,\citep}
% \DoNotIndex{\clearpage}
% \DoNotIndex{\csname}
% \DoNotIndex{\day}
% \DoNotIndex{\fi}
% \DoNotIndex{\futurelet}
% \DoNotIndex{\gdef}
+% \DoNotIndex{\global}
% \DoNotIndex{\hangindent}
% \DoNotIndex{\headrulewidth}
% \DoNotIndex{\if@filesw}
% \DoNotIndex{\ifcase}
% \DoNotIndex{\ifmlastyle@bibstyle}
% \DoNotIndex{\ifmlastyle@format}
+% \DoNotIndex{\ifmlastyle@pages}
% \DoNotIndex{\ifmlastyle@papersize}
% \DoNotIndex{\ifmlastyle@style}
% \DoNotIndex{\ifmlastyle@times}
% \DoNotIndex{\listparindent}
% \DoNotIndex{\makeenmark}
% \DoNotIndex{\mbox}
+% \DoNotIndex{\ml@}
% \DoNotIndex{\mlastyle@bibstylefalse}
% \DoNotIndex{\mlastyle@bibstyletrue}
% \DoNotIndex{\mlastyle@cite}
% \DoNotIndex{\mlastyle@formattrue}
% \DoNotIndex{\mlastyle@instructor}
% \DoNotIndex{\mlastyle@intbib}
+% \DoNotIndex{\mlastyle@pagesfalse}
+% \DoNotIndex{\mlastyle@pagestrue}
% \DoNotIndex{\mlastyle@papersizefalse}
% \DoNotIndex{\mlastyle@papersizetrue}
% \DoNotIndex{\mlastyle@qspread}
% \DoNotIndex{\month}
% \DoNotIndex{\newblock}
% \DoNotIndex{\newcommand}
+% \DoNotIndex{\newdimen}
% \DoNotIndex{\newenvironment}
% \DoNotIndex{\newif}
% \DoNotIndex{\newpage}
% \DoNotIndex{\sloppy}
% \DoNotIndex{\space}
% \DoNotIndex{\string}
-% \DoNotIndex{\sw@llow}
% \DoNotIndex{\the}
% \DoNotIndex{\thebibliography}
% \DoNotIndex{\thepage}
% \DoNotIndex{\topsep}
% \DoNotIndex{\usecounter}
+% \DoNotIndex{\unskip}
% \DoNotIndex{\vskip}
% \DoNotIndex{\write}
% \DoNotIndex{\year}
% \DoNotIndex{\z@}
+% \DoNotIndex{\bibhang}
% \DoNotIndex{\evensidemargin}
% \DoNotIndex{\headheight}
% \DoNotIndex{\headsep}
%
%\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, use |\citeN|, explained below.
+% 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
% 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
+% 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
-% |(\citeN[42]{texbook}|\texttt{; }|\citeN[69]{latexdps})|
+% |(\citealp[42]{texbook}|\texttt{; }|\citealp[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}
% Define the surname, along with an obsolete synonym.
% \begin{macrocode}
\def\surname#1{\gdef\mlastyle@surname{#1}}
-\def\mlastyle@surname{\def\sw@llow##1 {}\expandafter\sw@llow\@author}
+\def\mlastyle@surname{\def\ml@##1 ##2,##3@@{##2}%
+ \expandafter\ml@\@author, ,@@}
\let\lastname\surname
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
\ifmlastyle@format
% \end{macrocode}
+% \begin{macro}{\mlastyle@i}
+% This is the standard MLA format indent.
+% \begin{macrocode}
+ \newdimen\mlastyle@i \mlastyle@i=.5in
+% \end{macrocode}
+% \end{macro}
% \subsubsection{Macros}
% \begin{macro}{\maketitle}
% |\maketitle| generates a heading in MLA format.
% Indented 1 inch, with an additional .25 inch hanging indent.
% \begin{macrocode}
\renewenvironment{verse}{\list{}{\mlastyle@qspread
- \advance\leftmargin.75in\itemindent-.25in
+ \advance\leftmargin1.5\mlastyle@i\itemindent-.5\mlastyle@i
\listparindent\itemindent}\item\relax}{\endlist}
% \end{macrocode}
% \end{environment}
% Indented 1 inch, with a paragraph indent of an additional .25 inches.
% \begin{macrocode}
\renewenvironment{quotation}{\list{}{\mlastyle@qspread
- \advance\leftmargin.5in\itemindent.25in
+ \advance\leftmargin\mlastyle@i\itemindent.5\mlastyle@i
\listparindent\itemindent}\item\relax}{\endlist}
% \end{macrocode}
% \end{environment}
% indented.
% \begin{macrocode}
\renewenvironment{quote}{\list{}{\mlastyle@qspread
- \advance\leftmargin.5in
- \listparindent.25in}\item\relax}{\endlist}
+ \advance\leftmargin\mlastyle@i
+ \listparindent.5\mlastyle@i}\item\relax}{\endlist}
% \end{macrocode}
% \end{environment}
% \begin{environment}{workscited}
% \begin{macrocode}
\newenvironment{workscited}%
{\newpage{\centerline{Works Cited}}}{\newpage}
- \newcommand{\bibent}{\noindent \hangindent .5in}
+ \newcommand{\bibent}{\noindent \hangindent\mlastyle@i}
% \end{macrocode}
% \end{environment}
% \subsubsection{Margins}
% ^^A\addtolength{\headheight}{-1pt}
% ^^A\setlength{\headheight}{1.4\headheight}% kludge
% \begin{macrocode}
- \addtolength{\voffset}{-0.5in}
+ \addtolength{\voffset}{-.5in}
\setlength{\textheight}{\paperheight}
\addtolength{\textheight}{-2in}
\setlength{\topmargin}{0in}
\setlength\headheight\f@baselineskip
- \setlength{\headsep}{0.5in}
+ \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}{-0.5in}
+ \addtolength{\hoffset}{-.5in}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-2in}
- \setlength{\oddsidemargin}{0.5in}
- \setlength{\evensidemargin}{0.5in}
- \setlength{\marginparwidth}{0.5in}
+ \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}{.5in}
+ \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
\def\@listvi{\leftmargin\leftmarginvi
\parsep\z@\itemsep\z@\topsep -3\p@\relax}
% \end{macrocode}
+% Only one space after colons.
+% \begin{macrocode}
+\ifnum\the\sfcode`\:=2000
+ \sfcode`\:=1999
+\fi
+% \end{macrocode}
% \subsubsection{Header}
% The last name and page number appear on every page, including the first.
% \begin{macrocode}
% \begin{macrocode}
\RequirePackage[ragged,norule]{footmisc}
\def\footnotelayout{\linespread{1}\footnotesize\raggedright{} }
- \footnotemargin .56in
+ \footnotemargin\mlastyle@i
+ \advance\footnotemargin .35em
\skip\footins=2\baselineskip
\footnotesep 1.2\footnotesep
\addtolength\footnotesep{\baselineskip}
% The definition of |\thebibliography| varies depending on the document
% class.
% \begin{macrocode}
+\ifx\@undefined\url{
+ \catcode`/=13
+ \gdef\url{\bgroup\catcode`/=13
+ \let/\slash\mlastyle@url}
+ \gdef\mlastyle@url#1{#1\egroup}
+}\fi
+\ifx\@undefined\citet
\@ifundefined{chapter}
% \end{macrocode}
% Article class.
\itemindent-\leftmargin
\def\newblock{}
\usecounter{enumiv}
- %\catcode`\/=13\global\let/=\mlastyle@slash
\sloppy%\sfcode`\.=\@m
}}
% \end{macrocode}
\itemindent-\leftmargin
\def\newblock{}
\usecounter{enumiv}
- %\catcode`/=13\let/=\mlastyle@slash
\sloppy%\sfcode`\.=\@m
}}
% \end{macrocode}
% \end{environment}
+% \subsubsection{Experimental \package{natbib} Implementation}
+% \begin{macrocode}
+\else
+ \newcommand\bibpreamble{%
+ \@ifundefined{citet}{}%
+ {\bibhang\mlastyle@i\bibsep\z@}}
+\fi
+% \end{macrocode}
% \begin{macrocode}
\fi % \ifmlastyle@format
% \end{macrocode}
% \subsection{Style}
+% \begin{macro}{\bibstyle@mlastyle}
+% This first block is the beginnings of an implementation for
+% \package{natbib}.
+% \begin{macrocode}
+\def\mlastyle@notitle
+ { \ \ \ \ \unskip\unskip\unskip\unskip\unskip\unskip}
+\newif\ifmlastyle@pages
+\renewcommand\NAT@citetp
+{\@ifnextchar[{\mlastyle@pagestrue\NAT@@citetp}%
+ {\mlastyle@pagesfalse\NAT@@citetp[]}}
+\newcommand{\bibstyle@mlastyle}{%
+ \bibpunct[\mlastyle@space]{\mlastyle@brack(}{\mlastyle@brack)}%
+ {;}{a}{\mlastyle@comma}{,}
+ \gdef\mlastyle@brack##1{\ifx\NAT@date\mlastyle@notitle
+ \ifmlastyle@pages ##1\else\ifNAT@swa\ifnum
+ \NAT@ctype=0 ##1\else\unskip\fi\else\unskip\fi\fi\else ##1\fi}
+ \gdef\mlastyle@comma{\ifx\NAT@date\mlastyle@notitle\else,\fi}
+ \gdef\mlastyle@space{\ifx\NAT@date\mlastyle@notitle{}\else{} \fi}
+ \gdef\mlastyle@space{\ifx\NAT@date\mlastyle@notitle
+ \ifnum\NAT@ctype<2
+ \ifNAT@par\ifNAT@swa{} \fi\else{} \fi\fi\else{} \fi}
+ \@ifundefined{chapter}
+ {\gdef\refname{Works Cited}}
+ {\gdef\bibname{Works Cited}}}
+% \end{macrocode}
+%\end{macro}
% \begin{macro}{\cite}
-% \begin{macro}{\citeN}
+% \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|,
-% |\citeN|, etc.\ vary depending on the options passed to
+% |\citealp|, etc.\ vary depending on the options passed to
% \package{mlastyle}.
%
% \begin{macro}{\mlastyle@intcite}
% This macro does nothing. Depending on the options, either |\citeC| or
% |\citeM| and its ilk will utilize it.
% \begin{macrocode}
-\newcommand{\mlastyle@relax}[2][]{}
+\newcommand{\mlastyle@relax}[2][]{\unskip}
% \end{macrocode}
% \end{macro}
% \subsubsection{MLA Style}
% executed.
% \begin{macrocode}
\ifmlastyle@style
+\ifx\@undefined\citet
\def\@cite#1#2{(#1\if@tempswa{} #2\fi)}
\def\cite{\def\@cite##1##2{(##1\if@tempswa{}
##2\fi)}\mlastyle@intcite}
- \def\citeN{\def\@cite##1##2{##1\if@tempswa{}
+ \def\citealp{\def\@cite##1##2{##1\if@tempswa{}
##2\fi}\mlastyle@intcite}
+ \let\citeN\citealp
\def\citeM{\def\@cite##1##2{ (##1\if@tempswa{}
##2\fi)}\mlastyle@intcite}
\def\citepage{\def\@cite##1##2{\if@tempswa(##2)\fi}\mlastyle@intcite}
\@ifundefined{chapter}
{\renewcommand\refname{Works Cited}}
{\renewcommand\bibname{Works Cited}}
+\else
+ \let\cite\citep
+ \newcommand\citepage[2][]{\citeyearpar[#1]{#2}}
+ \newcommand\citepageM[2][]{ \citetext{#2}}
+ \newcommand\citeindirect[2][]{\citep[qtd.\ in][#1]{#2}}
+ \newcommand\citeindirectM[2][]{ \citep[qtd.\ in][#1]{#2}}
+ \let\citeN\citealp
+ \let\citeC\mlastyle@relax
+\fi
% \end{macrocode}
%
% ^^A% Define the command \workscited{bib}{style}{nocite}
% set.
% \begin{macrocode}
\else
- \newcommand{\mlastyle@cite}[2][]{\@tempswafalse\@citex[]{#2}}
+ \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
- \newcommand{\citeC}[2][]{~\@tempswafalse\@citex[]{#2}}
\let\citeM\mlastyle@relax
\let\citepageM\mlastyle@relax
\let\citeindirectM\mlastyle@relax