X-Git-Url: http://git.tpope.net/?p=latex-mlastyle.git;a=blobdiff_plain;f=mlastyle.dtx;h=b6236d33267bbb4f681899d152c791a2e1a2a3be;hp=580b71b08f7e4605d03eb5410320d23a7ef595b2;hb=2af0d6226ae01027a67f6535d7786b880553312d;hpb=db0ee7ae3cc0adeaa3435512221cbfb0fefb77e1 diff --git a/mlastyle.dtx b/mlastyle.dtx index 580b71b..b6236d3 100644 --- a/mlastyle.dtx +++ b/mlastyle.dtx @@ -21,24 +21,74 @@ % [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 + \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 @@ -95,6 +145,7 @@ % \DoNotIndex{\@listiv} % \DoNotIndex{\@listv} % \DoNotIndex{\@listvi} +% \DoNotIndex{\@m} % \DoNotIndex{\@startsection} % \DoNotIndex{\@tempswafalse} % \DoNotIndex{\@title} @@ -104,23 +155,28 @@ % \DoNotIndex{\G@refundefinedtrue} % \DoNotIndex{\ProcessOptions} % \DoNotIndex{\RequirePackage} +% \DoNotIndex{\UL@start,\UL@stop} % \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{\def} % \DoNotIndex{\do} % \DoNotIndex{\edef} +% \DoNotIndex{\egroup} % \DoNotIndex{\else} % \DoNotIndex{\end} % \DoNotIndex{\endcsname} @@ -133,6 +189,7 @@ % \DoNotIndex{\fi} % \DoNotIndex{\futurelet} % \DoNotIndex{\gdef} +% \DoNotIndex{\global} % \DoNotIndex{\hangindent} % \DoNotIndex{\headrulewidth} % \DoNotIndex{\if@filesw} @@ -140,6 +197,7 @@ % \DoNotIndex{\ifcase} % \DoNotIndex{\ifmlastyle@bibstyle} % \DoNotIndex{\ifmlastyle@format} +% \DoNotIndex{\ifmlastyle@pages} % \DoNotIndex{\ifmlastyle@papersize} % \DoNotIndex{\ifmlastyle@style} % \DoNotIndex{\ifmlastyle@times} @@ -161,6 +219,7 @@ % \DoNotIndex{\listparindent} % \DoNotIndex{\makeenmark} % \DoNotIndex{\mbox} +% \DoNotIndex{\ml@} % \DoNotIndex{\mlastyle@bibstylefalse} % \DoNotIndex{\mlastyle@bibstyletrue} % \DoNotIndex{\mlastyle@cite} @@ -169,6 +228,8 @@ % \DoNotIndex{\mlastyle@formattrue} % \DoNotIndex{\mlastyle@instructor} % \DoNotIndex{\mlastyle@intbib} +% \DoNotIndex{\mlastyle@pagesfalse} +% \DoNotIndex{\mlastyle@pagestrue} % \DoNotIndex{\mlastyle@papersizefalse} % \DoNotIndex{\mlastyle@papersizetrue} % \DoNotIndex{\mlastyle@qspread} @@ -186,6 +247,7 @@ % \DoNotIndex{\month} % \DoNotIndex{\newblock} % \DoNotIndex{\newcommand} +% \DoNotIndex{\newdimen} % \DoNotIndex{\newenvironment} % \DoNotIndex{\newif} % \DoNotIndex{\newpage} @@ -213,16 +275,17 @@ % \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} @@ -257,12 +320,19 @@ % \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 @@ -279,7 +349,7 @@ %\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 @@ -340,9 +410,10 @@ % \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} @@ -369,16 +440,15 @@ %\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 @@ -395,17 +465,18 @@ % |\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 % 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 +% 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]{knuth}|\texttt{; }|\citeN[69]{lamport})| +% |(\citealp[42]{texbook}|\texttt{; }|\citealp[69]{latexdps})| % would be something like \examp[.]{(Knuth 42; Lamport 69)} % % \subsubsection{Using {\rm \BibTeX}} \label{sec:bibtex} @@ -419,41 +490,47 @@ % 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\/})} % -% \StopEventually{\PrintChanges\PrintIndex} +% 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} -% \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 @@ -504,22 +581,18 @@ \fi \fi % \ifmlastyle@papersize % \end{macrocode} -% If the \Lopt{bibstyle} option is set, specify the bibliography style. -% \begin{macrocode} -\ifmlastyle@bibstyle - \ifmlastyle@style - \bibliographystyle{mlastyle} - \else - \bibliographystyle{plain} - \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 @@ -545,7 +618,8 @@ % 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} @@ -554,6 +628,12 @@ % \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. @@ -587,6 +667,7 @@ % \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} @@ -601,6 +682,7 @@ % ^^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} @@ -608,7 +690,7 @@ % 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} @@ -616,7 +698,7 @@ % 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} @@ -625,8 +707,8 @@ % 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} @@ -634,7 +716,7 @@ % \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} @@ -643,31 +725,31 @@ % ^^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 @@ -696,6 +778,12 @@ \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} @@ -717,7 +805,8 @@ % \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} @@ -738,60 +827,108 @@ % 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. % \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} + \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} + \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}. Surely there is a better way. +% \begin{macrocode} +\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} + \gdef\citetext##1{(##1)} + \@ifundefined{chapter} + {\gdef\refname{Works Cited}} + {\gdef\bibname{Works Cited}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\mlastyle@notitle} +% This hack represents an empty title in the MLA bibliography style. +% \begin{macrocode} +\def\mlastyle@notitle + { \ \ \ \ \unskip\unskip\unskip\unskip\unskip\unskip} +\RequirePackage{natbib} +% \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} % The original |\cite| is stored % in |\mlastyle@intcite|. % \begin{macrocode} -\let\mlastyle@intcite\cite +%\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][]{} +\newcommand{\mlastyle@relax}[2][]{\unskip} % \end{macrocode} % \end{macro} % \subsubsection{MLA Style} @@ -800,74 +937,21 @@ % executed. % \begin{macrocode} \ifmlastyle@style - \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{} - ##2\fi}\mlastyle@intcite} - \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} - \def\citepageM{\def\@cite##1##2{\if@tempswa{} - (##2)\fi}\mlastyle@intcite} - \def\citeindirect{\def\@cite##1##2% - {(qtd. in ##1\if@tempswa{} ##2\fi)}\mlastyle@intcite} - \def\citeindirectM{\def\@cite##1##2% - { (qtd. in ##1\if@tempswa{} ##2\fi)}\mlastyle@intcite} - \let\citeC\mlastyle@relax -% \end{macrocode} -% \end{macro} -% \iffalse -% Place commas in-between citations in the same |\citeyear|, |\citeyearNP|, -% |\citeN|, or |\shortciteN| command. -% Use something like |\citeN{ref1,ref2,ref3}| and |\citeN{ref4}| for a list. -% -% \@citedata and \@citedatax: -% \def\@citedata{% -% \@ifnextchar [{\@tempswatrue\@citedatax}% -% {\@tempswafalse\@citedatax[]}% -% } -% \def\@citedatax[#1]#2{% -% \let\@citea\@empty -% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi% -% \def\@citea{}\@cite{\@for\@citeb:=#2\do% -% {\@citea\def\@citea{; }\@ifundefined% by Young -% {b@\@citeb}{{\bf ?}% -% \@warning{Citation `\@citeb' on page \thepage \space undefined}}% -% {\csname b@\@citeb\endcsname}}}{#1}}% -% \fi -% \begin{macro}{\@citex} -% This is the original |\@citex| from \LaTeX{} modified to use semicolons. -% \begin{macrocode} -\def\@citex[#1]#2{% - \let\@citea\@empty - \@cite{\@for\@citeb:=#2\do - {\@citea\def\@citea{;\penalty-1\ }% - \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% - \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi - \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% - \G@refundefinedtrue - \@latex@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - {{\csname b@\@citeb\endcsname}}}}{#1}} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\@biblabel} -% No labels in the bibliography. +% If the \Lopt{bibstyle} option is set, specify the bibliography style. % \begin{macrocode} - \def\@biblabel#1{#1} - \labelsep\z@ - \let\mlastyle@intbib\thebibliography - \def\thebibliography#1{\mlastyle@intbib{#1} - \itemindent-\leftmargin\def\@biblabel##1{}} + \ifmlastyle@bibstyle + \bibliographystyle{mlastyle} + \fi % \end{macrocode} % \end{macro} -% Title either the bibliography or the references ``Works Cited,'' -% depending on the document class. % \begin{macrocode} - \@ifundefined{chapter} - {\renewcommand\refname{Works Cited}} - {\renewcommand\bibname{Works Cited}} + \let\cite\citep + \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} % % ^^A% Define the command \workscited{bib}{style}{nocite} @@ -890,11 +974,22 @@ % set. % \begin{macrocode} \else - \newcommand{\mlastyle@cite}[2][]{\@tempswafalse\@citex[]{#2}} +% \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 - \newcommand{\citeC}[2][]{ \@tempswafalse\@citex[]{#2}} \let\citeM\mlastyle@relax \let\citepageM\mlastyle@relax \let\citeindirectM\mlastyle@relax @@ -906,9 +1001,9 @@ % ^^A\end{macro} % \end{macro} % \end{macro} -% \iffalse +% \begin{macrocode} % -% \fi +% \end{macrocode} % % \Finale \endinput