From 2af0d6226ae01027a67f6535d7786b880553312d Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Wed, 19 Nov 2003 21:54:05 +0000 Subject: [PATCH] Yet more on bibliography --- mlastyle.dtx | 109 +++++++++++---------------------------------------- 1 file changed, 23 insertions(+), 86 deletions(-) diff --git a/mlastyle.dtx b/mlastyle.dtx index 44a745e..b6236d3 100644 --- a/mlastyle.dtx +++ b/mlastyle.dtx @@ -581,16 +581,6 @@ Schlegl", \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 @@ -887,10 +877,8 @@ Schlegl", % \subsection{Style} % \begin{macro}{\bibstyle@mlastyle} % This first block is the beginnings of an implementation for -% \package{natbib}. +% \package{natbib}. Surely there is a better way. % \begin{macrocode} -\def\mlastyle@notitle - { \ \ \ \ \unskip\unskip\unskip\unskip\unskip\unskip} \newif\ifmlastyle@pages \renewcommand\NAT@citetp {\@ifnextchar[{\mlastyle@pagestrue\NAT@@citetp}% @@ -906,10 +894,19 @@ Schlegl", \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}{\citealp} @@ -924,7 +921,7 @@ Schlegl", % 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} @@ -935,92 +932,26 @@ Schlegl", % \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. % \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\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} - \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} -% \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}} -\else \let\cite\citep \newcommand\citepage[2][]{\citeyearpar[#1]{#2}} - \newcommand\citepageM[2][]{ \citetext{#2}} + \newcommand\citepageM[2][]{\unskip{} \citeyearpar[#1]{#2}} \newcommand\citeindirect[2][]{\citep[qtd.\ in][#1]{#2}} - \newcommand\citeindirectM[2][]{ \citep[qtd.\ in][#1]{#2}} + \newcommand\citeindirectM[2][]{\unskip{} \citep[qtd.\ in][#1]{#2}} \let\citeN\citealp \let\citeC\mlastyle@relax -\fi % \end{macrocode} % % ^^A% Define the command \workscited{bib}{style}{nocite} @@ -1043,6 +974,12 @@ Schlegl", % set. % \begin{macrocode} \else +% \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}} -- 2.30.2