Fixed nested underlining
[latex-mlastyle.git] / mlastyle.dtx
index f3cb9355382248f43390707ddc80a9657f88890a..d70be821ebcb279f81b6b69bb529b8e8f60ecb3c 100644 (file)
 \documentclass[draft]{ltxdoc}
 \iftrue
   \usepackage[compat]{mlastyle}
-  \addtolength{\headsep}{-25pt}
-  \addtolength{\headheight}{-12pt}
+  \addtolength{\headsep}{-5pt}
+  %\addtolength{\headheight}{-12pt}
   \addtolength{\topmargin}{-17pt}
-  \addtolength{\textheight}{58pt}
+  \addtolength{\textheight}{22pt}
   \IfFileExists{ulem.sty}{\usepackage[normalem]{ulem}}{\let\uline\emph}
 \else
   \usepackage[mla]{mlastyle}
 % \DoNotIndex{\renewenvironment}
 % \DoNotIndex{\reset@font}
 % \DoNotIndex{\rhead}
+% \DoNotIndex{\selectfont}
 % \DoNotIndex{\setlength}
 % \DoNotIndex{\settowidth}
 % \DoNotIndex{\sfcode}
 % |\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 |\citeN|, explained below, can be used.
+% To work around this limitation, use |\citeN|, explained below.
 %
 % Three additional citation commands are provided, all of which take the
 % same arguments as |\cite|.  To omit the author information from the
 % \StopEventually{\PrintChanges\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
        \mlastyle@formatfalse
        \mlastyle@underlinefalse}
 \DeclareOption{singlespacequotes}{
-  \def\mlastyle@qspread{\linespread{1}\normalsize\vskip\baselineskip}}
+  \def\mlastyle@qspread{\linespread{1}\selectfont\vskip\baselineskip}}
 \DeclareOption{doublespacequotes}{\let\mlastyle@qspread\relax}
 \ExecuteOptions{nobibstyle,nopapersize,mla,cm,doublespacequotes}
 \ProcessOptions
   \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
 % \end{macro}
 % \end{macro}
 % \subsubsection{Environments}
-% ^^A%\newenvironment{blocks}{\begin{quote} \linespread{1} \small \normalsize}{\end{quote} \linespread{2} \small \normalsize}
-% ^^A%\newenvironment{blockm}{\begin{quotation} \linespread{1} \small \normalsize}{\end{quotation} \linespread{2} \small \normalsize}
+% ^^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}
 % \begin{environment}{verse}
 % Indented 1 inch, with an additional .25 inch hanging indent.
 %    \begin{macrocode}
 % ^^A\end{macro}
 % \end{macro}
 % \end{macro}
-% \iffalse
+%    \begin{macrocode}
 %</package>
-% \fi
+%    \end{macrocode}
 %
 % \Finale
 \endinput