Began transition to natbib
authorTim Pope <code@tpope.net>
Mon, 17 Nov 2003 06:07:53 +0000 (06:07 +0000)
committerTim Pope <code@tpope.net>
Mon, 17 Nov 2003 06:07:53 +0000 (06:07 +0000)
mlastyle.bst
mlastyle.dtx

index 6055ac2adb4d23e2b4e34bec686741b614f01f43..15e90d09fa889752d02adc566cd8eedd151b3330 100644 (file)
@@ -1,4 +1,5 @@
-% BibTeX standard bibliography style `plain'
+% BibTeX bibliography style `mlastyle'
+% Based on BibTeX standard bibliography style `plain'
        % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
        % Copyright (C) 1985, all rights reserved.
        % Copying of this file is authorized only if either
        % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
        % Copyright (C) 1985, all rights reserved.
        % Copying of this file is authorized only if either
@@ -40,7 +41,7 @@ ENTRY
   { author.duplicate author.shared }
   { label }
 
   { author.duplicate author.shared }
   { label }
 
-INTEGERS { output.state before.all mid.sentence after.sentence after.block after.title author.different author.last author.flast citen.used url.used }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.title author.different author.last author.flast citealt.used url.used }
 
 % Rearranged such that true values require capital letters
 FUNCTION {init.consts}
 
 % Rearranged such that true values require capital letters
 FUNCTION {init.consts}
@@ -55,7 +56,7 @@ FUNCTION {init.consts}
   #2 'author.flast :=
   %#3 'author.firstlast :=
 
   #2 'author.flast :=
   %#3 'author.firstlast :=
 
-  #0 'citen.used :=
+  #0 'citealt.used :=
   #0 'url.used :=
 }
 
   #0 'url.used :=
 }
 
@@ -640,9 +641,8 @@ FUNCTION {format.article.crossref}
     %}
     %{ "In " key * }
   %if$
     %}
     %{ "In " key * }
   %if$
-  pages empty$ { " \citeN" } { " \citeN[" format.chapter.pages * "]" * } if$
+  pages empty$ { " \citealt" } { " \citealt[" format.chapter.pages * "]" * } if$
   "{" * crossref * "}" *
   "{" * crossref * "}" *
-  citen.used #1 + 'citen.used :=
 }
 
 FUNCTION {format.crossref.editor}
 }
 
 FUNCTION {format.crossref.editor}
@@ -687,9 +687,8 @@ FUNCTION {format.book.crossref}
 %    }
 %    { format.crossref.editor * }
 %  if$
 %    }
 %    { format.crossref.editor * }
 %  if$
-  pages empty$ { " \citeN" } { " \citeN[" format.chapter.pages * "]" * } if$
+  pages empty$ { " \citealt" } { " \citealt[" format.chapter.pages * "]" * } if$
   "{" * crossref * "}" *
   "{" * crossref * "}" *
-  citen.used #1 + 'citen.used :=
 }
 
 FUNCTION {format.incoll.inproc.crossref}
 }
 
 FUNCTION {format.incoll.inproc.crossref}
@@ -710,9 +709,8 @@ FUNCTION {format.incoll.inproc.crossref}
 %    }
 %    { "In " format.crossref.editor * }
 %  if$
 %    }
 %    { "In " format.crossref.editor * }
 %  if$
-  pages empty$ { " \citeN" } { " \citeN[" format.chapter.pages * "]" * } if$
+  pages empty$ { " \citealt" } { " \citealt[" format.chapter.pages * "]" * } if$
   "{" * crossref * "}" *
   "{" * crossref * "}" *
-  citen.used #1 + 'citen.used :=
 }
 
 FUNCTION {cite.title}
 }
 
 FUNCTION {cite.title}
@@ -1369,7 +1367,7 @@ FUNCTION {init.vars}
 FUNCTION {forward.author.dup.check}
 {
   url empty$ 'skip$ { url.used #1 + 'url.used := } if$
 FUNCTION {forward.author.dup.check}
 {
   url empty$ 'skip$ { url.used #1 + 'url.used := } if$
-  crossref empty$ 'skip$ { citen.used #1 + 'citen.used := } if$
+  crossref empty$ 'skip$ { citealt.used #1 + 'citealt.used := } if$
   author empty$
     { editor empty$ { organization field.or.null 'a := }{ editor 'a :=} if$}
     { author 'a := }
   author empty$
     { editor empty$ { organization field.or.null 'a := }{ editor 'a :=} if$}
     { author 'a := }
@@ -1463,8 +1461,8 @@ REVERSE {reverse.author}
 
 FUNCTION {begin.bib}
 {
 
 FUNCTION {begin.bib}
 {
-  citen.used
-    { "\ifx\undefined\citeN\let\citeN\cite\fi" write$ newline$ }
+  citealt.used
+    { "\ifx\undefined\citealt\let\citealt\cite\fi" write$ newline$ }
     'skip$
   if$
   url.used
     'skip$
   if$
   url.used
index a36447ba96cd8b64badf27b67ad4ef82e60ae16e..252e96ac7a64a5f3777130c1f79d20a37501be74 100644 (file)
@@ -22,7 +22,7 @@
 %
 %<*driver>
 \begin{filecontents}{mlastyle.bib}
 %
 %<*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}"}
+@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",
 
 @BOOK{handbook,
   AUTHOR = "Joseph Gibaldi",
@@ -55,7 +55,7 @@ Schlegl",
 
 @MANUAL{btxdoc,
   AUTHOR  = "Oren Patashnik",
 
 @MANUAL{btxdoc,
   AUTHOR  = "Oren Patashnik",
-  TITLE   = "{\BibTeX ing}",
+  TITLE   = "{\BibTex ing}",
   YEAR    = "1988",
   MONTH   = feb,
   ACCESSDATE = "1~"#nov#"~2003",
   YEAR    = "1988",
   MONTH   = feb,
   ACCESSDATE = "1~"#nov#"~2003",
@@ -137,6 +137,7 @@ Schlegl",
 % \DoNotIndex{\@listiv}
 % \DoNotIndex{\@listv}
 % \DoNotIndex{\@listvi}
 % \DoNotIndex{\@listiv}
 % \DoNotIndex{\@listv}
 % \DoNotIndex{\@listvi}
+% \DoNotIndex{\@m}
 % \DoNotIndex{\@startsection}
 % \DoNotIndex{\@tempswafalse}
 % \DoNotIndex{\@title}
 % \DoNotIndex{\@startsection}
 % \DoNotIndex{\@tempswafalse}
 % \DoNotIndex{\@title}
@@ -158,6 +159,7 @@ Schlegl",
 % \DoNotIndex{\centerline}
 % \DoNotIndex{\chapter}
 % \DoNotIndex{\citation}
 % \DoNotIndex{\centerline}
 % \DoNotIndex{\chapter}
 % \DoNotIndex{\citation}
+% \DoNotIndex{\citet,\citep}
 % \DoNotIndex{\clearpage}
 % \DoNotIndex{\csname}
 % \DoNotIndex{\day}
 % \DoNotIndex{\clearpage}
 % \DoNotIndex{\csname}
 % \DoNotIndex{\day}
@@ -177,6 +179,7 @@ Schlegl",
 % \DoNotIndex{\fi}
 % \DoNotIndex{\futurelet}
 % \DoNotIndex{\gdef}
 % \DoNotIndex{\fi}
 % \DoNotIndex{\futurelet}
 % \DoNotIndex{\gdef}
+% \DoNotIndex{\global}
 % \DoNotIndex{\hangindent}
 % \DoNotIndex{\headrulewidth}
 % \DoNotIndex{\if@filesw}
 % \DoNotIndex{\hangindent}
 % \DoNotIndex{\headrulewidth}
 % \DoNotIndex{\if@filesw}
@@ -230,6 +233,7 @@ Schlegl",
 % \DoNotIndex{\month}
 % \DoNotIndex{\newblock}
 % \DoNotIndex{\newcommand}
 % \DoNotIndex{\month}
 % \DoNotIndex{\newblock}
 % \DoNotIndex{\newcommand}
+% \DoNotIndex{\newdimen}
 % \DoNotIndex{\newenvironment}
 % \DoNotIndex{\newif}
 % \DoNotIndex{\newpage}
 % \DoNotIndex{\newenvironment}
 % \DoNotIndex{\newif}
 % \DoNotIndex{\newpage}
@@ -267,6 +271,7 @@ Schlegl",
 % \DoNotIndex{\write}
 % \DoNotIndex{\year}
 % \DoNotIndex{\z@}
 % \DoNotIndex{\write}
 % \DoNotIndex{\year}
 % \DoNotIndex{\z@}
+% \DoNotIndex{\bibhang}
 % \DoNotIndex{\evensidemargin}
 % \DoNotIndex{\headheight}
 % \DoNotIndex{\headsep}
 % \DoNotIndex{\evensidemargin}
 % \DoNotIndex{\headheight}
 % \DoNotIndex{\headsep}
@@ -446,7 +451,7 @@ Schlegl",
 % |\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.
 % |\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 |\citealt|, explained below.
 %
 % Three additional citation commands are provided, all of which take the
 % same arguments as |\cite|.  To omit the author information from the
 %
 % Three additional citation commands are provided, all of which take the
 % same arguments as |\cite|.  To omit the author information from the
@@ -454,10 +459,10 @@ Schlegl",
 % citations---those of the format \examp{(qtd. in Pope
 % \pageref{sec:italics})}---can be
 % created with \DescribeMacro{\citeindirect}|\citeindirect|.  Finally, 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{\citealt}|\citealt|.  This was
 % intended for use in cross references, but it can also help in citing
 % multiple works.  The result of
 % 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})|
+% |(\citealt[42]{texbook}|\texttt{; }|\citealt[69]{latexdps})|
 % would be something like \examp[.]{(Knuth 42; Lamport 69)}
 %
 % \subsubsection{Using {\rm \BibTeX}} \label{sec:bibtex}
 % would be something like \examp[.]{(Knuth 42; Lamport 69)}
 %
 % \subsubsection{Using {\rm \BibTeX}} \label{sec:bibtex}
@@ -615,6 +620,11 @@ Schlegl",
 % \end{macro}
 % \subsection{Formatting}
 % Formatting is done if the \Lopt{mla} or \Lopt{format} option is set.
 % \end{macro}
 % \subsection{Formatting}
 % Formatting is done if the \Lopt{mla} or \Lopt{format} option is set.
+% \begin{macro}{\mlastyle@i}
+%    \begin{macrocode}
+  \newdimen\mlastyle@i \mlastyle@i=.5in
+%    \end{macrocode}
+% \end{macro}
 %    \begin{macrocode}
 \ifmlastyle@format
 %    \end{macrocode}
 %    \begin{macrocode}
 \ifmlastyle@format
 %    \end{macrocode}
@@ -674,7 +684,7 @@ Schlegl",
 % Indented 1 inch, with an additional .25 inch hanging indent.
 %    \begin{macrocode}
   \renewenvironment{verse}{\list{}{\mlastyle@qspread
 % 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}
     \listparindent\itemindent}\item\relax}{\endlist}
 %    \end{macrocode}
 % \end{environment}
@@ -682,7 +692,7 @@ Schlegl",
 % Indented 1 inch, with a paragraph indent of an additional .25 inches.
 %    \begin{macrocode}
   \renewenvironment{quotation}{\list{}{\mlastyle@qspread
 % 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}
     \listparindent\itemindent}\item\relax}{\endlist}
 %    \end{macrocode}
 % \end{environment}
@@ -691,8 +701,8 @@ Schlegl",
 % indented.
 %    \begin{macrocode}
   \renewenvironment{quote}{\list{}{\mlastyle@qspread
 % 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}
 %    \end{macrocode}
 % \end{environment}
 % \begin{environment}{workscited}
@@ -700,7 +710,7 @@ Schlegl",
 %    \begin{macrocode}
   \newenvironment{workscited}%
     {\newpage{\centerline{Works Cited}}}{\newpage}
 %    \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}
 %    \end{macrocode}
 % \end{environment}
 % \subsubsection{Margins}
@@ -709,31 +719,31 @@ Schlegl",
 % ^^A\addtolength{\headheight}{-1pt}
 % ^^A\setlength{\headheight}{1.4\headheight}% kludge
 %    \begin{macrocode}
 % ^^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{\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{\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{\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
 %    \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
 %    \end{macrocode}
 % MLA format specifies that all paragraphs should be indented, even those
 % beginning a new section.  This snippet from \package{indentfirst} changes
@@ -783,7 +793,8 @@ Schlegl",
 %    \begin{macrocode}
   \RequirePackage[ragged,norule]{footmisc}
   \def\footnotelayout{\linespread{1}\footnotesize\raggedright{} }
 %    \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}
   \skip\footins=2\baselineskip
   \footnotesep 1.2\footnotesep
   \addtolength\footnotesep{\baselineskip}
@@ -804,6 +815,7 @@ Schlegl",
 % The definition of |\thebibliography| varies depending on the document
 % class.
 %    \begin{macrocode}
 % The definition of |\thebibliography| varies depending on the document
 % class.
 %    \begin{macrocode}
+\ifx\@undefined\citet
   \@ifundefined{chapter}
 %    \end{macrocode}
 % Article class.
   \@ifundefined{chapter}
 %    \end{macrocode}
 % Article class.
@@ -816,7 +828,7 @@ Schlegl",
         \itemindent-\leftmargin
         \def\newblock{}
         \usecounter{enumiv}
         \itemindent-\leftmargin
         \def\newblock{}
         \usecounter{enumiv}
-        %\catcode`\/=13\global\let/=\mlastyle@slash
+        %\catcode`/=13\global\let/=\mlastyle@slash
         \sloppy%\sfcode`\.=\@m
       }}
 %    \end{macrocode}
         \sloppy%\sfcode`\.=\@m
       }}
 %    \end{macrocode}
@@ -835,17 +847,33 @@ Schlegl",
       }}
 %    \end{macrocode}
 % \end{environment}
       }}
 %    \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{macrocode}
 \fi % \ifmlastyle@format
 %    \end{macrocode}
 % \subsection{Style}
+% This first block is the beginnings of an implementation for
+% \package{natbib}.
+%    \begin{macrocode}
+\newcommand{\bibstyle@mlastyle}{\bibpunct[ ]{(}{)}{;}{a}{,}{;}
+\@ifundefined{chapter}
+{\gdef\refname{Works Cited}}
+{\gdef\bibname{Works Cited}}}
+%    \end{macrocode}
 % \begin{macro}{\cite}
 % \begin{macro}{\cite}
-% \begin{macro}{\citeN}
+% \begin{macro}{\citealt}
 % ^^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|,
 % ^^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
+% |\citealt|, etc.\ vary depending on the options passed to
 % \package{mlastyle}.
 %
 % \begin{macro}{\mlastyle@intcite}
 % \package{mlastyle}.
 %
 % \begin{macro}{\mlastyle@intcite}
@@ -869,11 +897,13 @@ Schlegl",
 % executed.
 %    \begin{macrocode}
 \ifmlastyle@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\@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\citealt{\def\@cite##1##2{##1\if@tempswa{}
     ##2\fi}\mlastyle@intcite}
     ##2\fi}\mlastyle@intcite}
+  \let\citeN\citealt
   \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\citeM{\def\@cite##1##2{ (##1\if@tempswa{}
     ##2\fi)}\mlastyle@intcite}
   \def\citepage{\def\@cite##1##2{\if@tempswa(##2)\fi}\mlastyle@intcite}
@@ -938,6 +968,14 @@ Schlegl",
   \@ifundefined{chapter}
   {\renewcommand\refname{Works Cited}}
   {\renewcommand\bibname{Works Cited}}
   \@ifundefined{chapter}
   {\renewcommand\refname{Works Cited}}
   {\renewcommand\bibname{Works Cited}}
+\else
+  \let\cite\citep
+  \newcommand\citepage[2][]{\citetext{#2}}
+  \newcommand\citepageM[2][]{ \citetext{#2}}
+  \newcommand\citeindirect[2][]{\citep[#1][qtd. in]{#2}}
+  \newcommand\citeindirectM[2][]{ \citep[#1][qtd. in]{#2}}
+  \let\citeC\mlastyle@relax
+\fi
 %    \end{macrocode}
 %
 % ^^A% Define the command \workscited{bib}{style}{nocite}
 %    \end{macrocode}
 %
 % ^^A% Define the command \workscited{bib}{style}{nocite}