From 83bae224ee37b9f4c40f596dac6a9bb3ba962a5c Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Mon, 17 Nov 2003 06:07:53 +0000 Subject: [PATCH] Began transition to natbib --- mlastyle.bst | 22 +++++++------- mlastyle.dtx | 82 ++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 70 insertions(+), 34 deletions(-) diff --git a/mlastyle.bst b/mlastyle.bst index 6055ac2..15e90d0 100644 --- a/mlastyle.bst +++ b/mlastyle.bst @@ -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 @@ -40,7 +41,7 @@ ENTRY { 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} @@ -55,7 +56,7 @@ FUNCTION {init.consts} #2 'author.flast := %#3 'author.firstlast := - #0 'citen.used := + #0 'citealt.used := #0 'url.used := } @@ -640,9 +641,8 @@ FUNCTION {format.article.crossref} %} %{ "In " key * } %if$ - pages empty$ { " \citeN" } { " \citeN[" format.chapter.pages * "]" * } if$ + pages empty$ { " \citealt" } { " \citealt[" format.chapter.pages * "]" * } if$ "{" * crossref * "}" * - citen.used #1 + 'citen.used := } FUNCTION {format.crossref.editor} @@ -687,9 +687,8 @@ FUNCTION {format.book.crossref} % } % { format.crossref.editor * } % if$ - pages empty$ { " \citeN" } { " \citeN[" format.chapter.pages * "]" * } if$ + pages empty$ { " \citealt" } { " \citealt[" format.chapter.pages * "]" * } if$ "{" * crossref * "}" * - citen.used #1 + 'citen.used := } FUNCTION {format.incoll.inproc.crossref} @@ -710,9 +709,8 @@ FUNCTION {format.incoll.inproc.crossref} % } % { "In " format.crossref.editor * } % if$ - pages empty$ { " \citeN" } { " \citeN[" format.chapter.pages * "]" * } if$ + pages empty$ { " \citealt" } { " \citealt[" format.chapter.pages * "]" * } if$ "{" * crossref * "}" * - citen.used #1 + 'citen.used := } FUNCTION {cite.title} @@ -1369,7 +1367,7 @@ FUNCTION {init.vars} 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 := } @@ -1463,8 +1461,8 @@ REVERSE {reverse.author} 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 diff --git a/mlastyle.dtx b/mlastyle.dtx index a36447b..252e96a 100644 --- a/mlastyle.dtx +++ b/mlastyle.dtx @@ -22,7 +22,7 @@ % %<*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", @@ -55,7 +55,7 @@ Schlegl", @MANUAL{btxdoc, AUTHOR = "Oren Patashnik", - TITLE = "{\BibTeX ing}", + TITLE = "{\BibTex ing}", YEAR = "1988", MONTH = feb, ACCESSDATE = "1~"#nov#"~2003", @@ -137,6 +137,7 @@ Schlegl", % \DoNotIndex{\@listiv} % \DoNotIndex{\@listv} % \DoNotIndex{\@listvi} +% \DoNotIndex{\@m} % \DoNotIndex{\@startsection} % \DoNotIndex{\@tempswafalse} % \DoNotIndex{\@title} @@ -158,6 +159,7 @@ Schlegl", % \DoNotIndex{\centerline} % \DoNotIndex{\chapter} % \DoNotIndex{\citation} +% \DoNotIndex{\citet,\citep} % \DoNotIndex{\clearpage} % \DoNotIndex{\csname} % \DoNotIndex{\day} @@ -177,6 +179,7 @@ Schlegl", % \DoNotIndex{\fi} % \DoNotIndex{\futurelet} % \DoNotIndex{\gdef} +% \DoNotIndex{\global} % \DoNotIndex{\hangindent} % \DoNotIndex{\headrulewidth} % \DoNotIndex{\if@filesw} @@ -230,6 +233,7 @@ Schlegl", % \DoNotIndex{\month} % \DoNotIndex{\newblock} % \DoNotIndex{\newcommand} +% \DoNotIndex{\newdimen} % \DoNotIndex{\newenvironment} % \DoNotIndex{\newif} % \DoNotIndex{\newpage} @@ -267,6 +271,7 @@ Schlegl", % \DoNotIndex{\write} % \DoNotIndex{\year} % \DoNotIndex{\z@} +% \DoNotIndex{\bibhang} % \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. -% 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 @@ -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 -% 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 -% |(\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} @@ -615,6 +620,11 @@ Schlegl", % \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} @@ -674,7 +684,7 @@ Schlegl", % 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} @@ -682,7 +692,7 @@ Schlegl", % 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} @@ -691,8 +701,8 @@ Schlegl", % 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} @@ -700,7 +710,7 @@ Schlegl", % \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} @@ -709,31 +719,31 @@ Schlegl", % ^^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 @@ -783,7 +793,8 @@ Schlegl", % \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} @@ -804,6 +815,7 @@ Schlegl", % The definition of |\thebibliography| varies depending on the document % class. % \begin{macrocode} +\ifx\@undefined\citet \@ifundefined{chapter} % \end{macrocode} % Article class. @@ -816,7 +828,7 @@ Schlegl", \itemindent-\leftmargin \def\newblock{} \usecounter{enumiv} - %\catcode`\/=13\global\let/=\mlastyle@slash + %\catcode`/=13\global\let/=\mlastyle@slash \sloppy%\sfcode`\.=\@m }} % \end{macrocode} @@ -835,17 +847,33 @@ Schlegl", }} % \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} +% 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}{\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|, -% |\citeN|, etc.\ vary depending on the options passed to +% |\citealt|, etc.\ vary depending on the options passed to % \package{mlastyle}. % % \begin{macro}{\mlastyle@intcite} @@ -869,11 +897,13 @@ Schlegl", % 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\citealt{\def\@cite##1##2{##1\if@tempswa{} ##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} @@ -938,6 +968,14 @@ Schlegl", \@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} -- 2.30.2