diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/microtype/letterspace.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/letterspace.sty | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/latex/microtype/letterspace.sty b/Master/texmf-dist/tex/latex/microtype/letterspace.sty index 3fc1de4ec15..3afa0048c1e 100644 --- a/Master/texmf-dist/tex/latex/microtype/letterspace.sty +++ b/Master/texmf-dist/tex/latex/microtype/letterspace.sty @@ -33,7 +33,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage {letterspace} - [2013/03/13 v2.5 + [2013/05/23 v2.5a Robust letterspacing (RS)] \def\MT@MT @@ -156,6 +156,9 @@ \def\MT@ifdefined@n@T#1{% ^^X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi } +\def\MT@ifdefined@n@TF#1{% +^^X \ifcsname#1\endcsname\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi +} \begingroup \catcode`\%=12 \catcode`\&=14 @@ -267,11 +270,21 @@ \MT@outer@kern=-\dimexpr\MT@letterspace@ sp * \fontdimen6\font@name/2000\relax \MT@ls@outer@k \xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}% - \aftergroup\aftergroup\aftergroup\MT@ls@aftergroup + \MT@afteraftergroup{% + \MT@set@curr@ok + \noexpand\MT@ls@outer@k + }% \fi \fi } -\def\MT@ls@aftergroup{\MT@set@curr@ok\MT@ls@outer@k} +\def\MT@afteraftergroup#1{% + \MT@ifdefined@n@TF{MT@aftergroup@\number\currentgrouplevel}\relax{% + \MT@exp@cs\xdef{MT@aftergroup@\number\currentgrouplevel}% + {\MT@exp@cs\MT@glet{MT@aftergroup@\number\currentgrouplevel}\noexpand\@undefined#1}% + \expandafter\aftergroup\expandafter\aftergroup\MT@exp@cs\aftergroup + {MT@aftergroup@\number\currentgrouplevel}% + }% +} \MT@requires@latex2{ \def\MT@set@lsfont{\MT@exp@two@c\let\font@name\MT@lsfont} \DeclareRobustCommand\lsstyle{% @@ -299,7 +312,7 @@ \MT@outer@kern=\dimexpr\MT@curr@ls sp * \fontdimen6\font@name/2000\relax \kern\MT@outer@kern \font@name #1% - \kern\MT@outer@kern% + \kern\MT@outer@kern }{#1}}% } \def\MT@get@ls@basefont{% @@ -354,7 +367,20 @@ \fi } \newdimen\MT@outer@kern -\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi} +\def\MT@ls@outer@k{% + \ifhmode + \ifdim\lastkern=-3sp \unkern + \ifdim\lastkern=3sp \kern-3sp + \expandafter\expandafter\expandafter\@gobble + \else \unkern + \expandafter\expandafter\expandafter\@firstofone + \fi + \else + \expandafter\@firstofone + \fi + {\kern\MT@outer@kern\kern3sp\kern-3sp\relax}% + \fi +} \MT@requires@latex2{ \MT@addto@setup{% \@ifpackageloaded{CJK}{% |