From 3db1152f2355a1043f7d5f0b90d9c214c1efed3f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 26 Mar 2011 23:36:08 +0000 Subject: ulem (26mar11) git-svn-id: svn://tug.org/texlive/trunk@21840 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/generic/ulem/ulem.sty | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'Master/texmf-dist/tex/generic/ulem') diff --git a/Master/texmf-dist/tex/generic/ulem/ulem.sty b/Master/texmf-dist/tex/generic/ulem/ulem.sty index 66f8386fbea..f9395bfeb9f 100644 --- a/Master/texmf-dist/tex/generic/ulem/ulem.sty +++ b/Master/texmf-dist/tex/generic/ulem/ulem.sty @@ -1,5 +1,5 @@ % -% U L E M . S T Y [2010-10-03] +% U L E M . S T Y [2011-03-18] % % The ulem package provides various types of underlining that can stretch % between words and be broken across lines in LaTeX or plain TeX. @@ -25,7 +25,7 @@ % use wavy underline in place of bold face % Use \markoverwith for defining new types of underlining. % -% Copyright (c) 1989-2010 by Donald Arseneau (Vancouver, Canada; asnd@triumf.ca) +% Copyright (c) 1989-2011 by Donald Arseneau (Vancouver, Canada; asnd@triumf.ca) % % This software may be freely transmitted, reproduced, or modified for any % purpose provided that this copyright notice is left intact. @@ -48,17 +48,19 @@ \newskip\UL@skip \newtoks\UL@hook +\newdimen\UL@height + \newcount\UL@pe \let\LA@space\ \let\LA@hskip\hskip \def\UL@end *{\relax\relax}% something harmless unlikely to be found elsewhere % For regular underlines, set the depth based on the font, or retain -% preset value, then start underlining. +% the preset value, then start underlining. \def\ULset{\UL@setULdepth - \def\UL@leadtype{\leaders \hrule \@height\dimen@ \@depth\ULdepth}% + \def\UL@leadtype{\leaders \hrule \@height\UL@height \@depth\ULdepth}% \ifmmode \ULdepth-4\p@ \fi - \dimen@-\ULdepth \advance\dimen@\ULthickness \ULon} + \UL@height-\ULdepth \advance\UL@height\ULthickness \ULon} % Automatically set \ULdepth if it is to be automatic (flagged by \maxdimen) \def\UL@setULdepth{\relax @@ -84,10 +86,12 @@ % This is what \ULon does when it appears nested in an inner place. \def\UL@onin#1{\leavevmode\UL@ender % when nested, do multiple underlining - \dimen@\ULthickness \advance\ULdepth\thr@@\dimen@ \advance\dimen@-\ULdepth - \setbox\UL@box\hbox{{#1}}\let\UL@start\relax\UL@putbox\egroup} + \UL@height\ULthickness \advance\ULdepth\thr@@\UL@height + \advance\UL@height-\ULdepth \setbox\UL@box\hbox{{#1}}% + \let\UL@start\relax\UL@putbox\egroup} % \UL@putbox is disabled in inner mode, so re-enable it by changing \UL@start -% \UL@hrest is implicit due to \everyhbox +% \UL@hrest is implicit due to \everyhbox. Double braces for \hbox are in +% lieu of \color@begin(end)group. % This is what \ULon does in math mode. \def\UL@onmath#1{\UL@ender\mathord{\UL@hrest\mathop{\kern\z@#1}\limits\sb @@ -111,6 +115,9 @@ \fi\fi \fi \UL@word\@empty}% \@empty preserves braces in param +% \UL@start: start of each chunk. It gives two levels of grouping. +% Each chunk is ended by \UL@stop. Local intermissions go like +% \UL@stop...\UL@start. \def\UL@start{\setbox\UL@box\hbox\bgroup\everyhbox{\UL@hrest}% % the following are to cope with stops (\ ,\- etc) within extra braces \let\UL@start\@empty \def\UL@unegroup{\bgroup\bgroup}\let\UL@leadtype\@empty @@ -156,7 +163,8 @@ % (in registration) for a distance of the hyphen's width. \def\UL@dischyp{\global\setbox\UL@hyphenbox\hbox {\ifnum \hyphenchar\font<\z@ \string-\else \char\hyphenchar\font \fi}% - \kern\wd\UL@hyphenbox \LA@penalty\@M \UL@stop \kern-\wd\UL@hyphenbox + \kern\wd\UL@hyphenbox \LA@penalty\@M + \UL@stop \kern-\wd\UL@hyphenbox \discretionary{\box\UL@hyphenbox}{}{}\UL@start} \let\LA@penalty\penalty @@ -306,7 +314,7 @@ % Process LaTeX \package options; plain TeX skips this section \expandafter\ifx\csname ProvidesPackage\endcsname \relax \else - \ProvidesPackage{ulem}[2010/10/03] + \ProvidesPackage{ulem}[2011/03/18] \DeclareOption{normalem}{\normalem} \DeclareOption{ULforem}{\ULforem} \DeclareOption{normalbf}{} @@ -514,6 +522,7 @@ All the underlining commands are robust in LaTeX. % 2004: Fix spacing in \uwave and \xout. \ULleaders hook. % 2009: Accept \par in argument (\long) % 2010: Include \dotuline and \dashuline, typeset documentation, add \UL@setULdepth +% 2011: Change \dimen@ to \UL@height % % Send problem reports to asnd@triumf.ca % -- cgit v1.2.3