% \DoNotIndex{\bibpreamble,\bibpunct,\bibsep}
% \DoNotIndex{\begin}
% \DoNotIndex{\bfseries}
+% \DoNotIndex{\bgroup}
% \DoNotIndex{\c@enumiv}
% \DoNotIndex{\catcode}
% \DoNotIndex{\centering}
% \DoNotIndex{\ifcase}
% \DoNotIndex{\ifmlastyle@bibstyle}
% \DoNotIndex{\ifmlastyle@format}
+% \DoNotIndex{\ifmlastyle@pages}
% \DoNotIndex{\ifmlastyle@papersize}
% \DoNotIndex{\ifmlastyle@style}
% \DoNotIndex{\ifmlastyle@times}
% \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{\thepage}
% \DoNotIndex{\topsep}
% \DoNotIndex{\usecounter}
+% \DoNotIndex{\unskip}
% \DoNotIndex{\vskip}
% \DoNotIndex{\write}
% \DoNotIndex{\year}
% |\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 |\citealt|, 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{\citealt}|\citealt|. 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
-% |(\citealt[42]{texbook}|\texttt{; }|\citealt[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}
\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}
% The definition of |\thebibliography| varies depending on the document
% class.
% \begin{macrocode}
-\ifx\@undefined\url
- \def\url#1{{\catcode`/=13\let/=\mlastyle@slash#1}}
-\fi
+\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}
% This first block is the beginnings of an implementation for
% \package{natbib}.
% \begin{macrocode}
-\newcommand{\bibstyle@mlastyle}%
-{\bibpunct[ ]{(}{)}{;}{a}{\mlastyle@comma}{,}
-\gdef\mlastyle@comma{\ifx\NAT@date\space\def\NAT@date{\unskip}\else,\fi}
-\@ifundefined{chapter}
-{\gdef\refname{Works Cited}}
-{\gdef\bibname{Works Cited}}}
+\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}{\citealt}
+% \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|,
-% |\citealt|, 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}
\def\@cite#1#2{(#1\if@tempswa{} #2\fi)}
\def\cite{\def\@cite##1##2{(##1\if@tempswa{}
##2\fi)}\mlastyle@intcite}
- \def\citealt{\def\@cite##1##2{##1\if@tempswa{}
+ \def\citealp{\def\@cite##1##2{##1\if@tempswa{}
##2\fi}\mlastyle@intcite}
- \let\citeN\citealt
+ \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}
{\renewcommand\bibname{Works Cited}}
\else
\let\cite\citep
- \newcommand\citepage[2][]{\citeyearpar[\unskip #1]{#2}}
+ \newcommand\citepage[2][]{\citeyearpar[#1]{#2}}
\newcommand\citepageM[2][]{ \citetext{#2}}
- \newcommand\citeindirect[2][]{\citep[#1][qtd. in]{#2}}
- \newcommand\citeindirectM[2][]{ \citep[#1][qtd. in]{#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}