diff options
author | Karl Berry <karl@freefriends.org> | 2014-03-10 20:55:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-03-10 20:55:43 +0000 |
commit | 24edadbfd5d45a97ab89a24622b103eb479b7b6d (patch) | |
tree | a6661289b3fa7365c9569a7ae0ad2b2e8a66ae30 /Master/texmf-dist/tex/latex/scalerel | |
parent | 7984bd9ace7f87b10a105911d91ef92b0a515471 (diff) |
scalerel (10mar14)
git-svn-id: svn://tug.org/texlive/trunk@33145 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/scalerel')
-rw-r--r-- | Master/texmf-dist/tex/latex/scalerel/scalerel.sty | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/Master/texmf-dist/tex/latex/scalerel/scalerel.sty b/Master/texmf-dist/tex/latex/scalerel/scalerel.sty index fdc528e917d..cdc424ed316 100644 --- a/Master/texmf-dist/tex/latex/scalerel/scalerel.sty +++ b/Master/texmf-dist/tex/latex/scalerel/scalerel.sty @@ -1,8 +1,7 @@ \ProvidesPackage{scalerel} -[2013/05/16 v1.5 +[2014/03/10 v1.6 Routines for constrained scaling and stretching of objects, relative to a reference object or in absolute terms] -%% Copyright 2013 Steven B. Segletes % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,10 +15,10 @@ % % The Current Maintainer of this work is Steven B. Segletes. -% V1.01 Correct typos in documentation -% V1.1 Corrected usepackage dependencies; Significant doc rewrite. -% V1.2 Added \scaleleftright and \stretchleftright; revised docs. -% V1.3 Corrected missing % in stretch routines, added \hstretch and +% V1.01-Correct typos in documentation +% V1.1 -Corrected usepackage dependencies; Significant doc rewrite. +% V1.2 -Added \scaleleftright and \stretchleftright; revised docs. +% V1.3 -Corrected missing % in stretch routines, added \hstretch and % \vstretch commands; fixed version number in .sty file % V1.4 -Auto-detect mathmode and style; use the proper math display % style; Allow \ignoremathstyle and \discernmathstyle to @@ -30,16 +29,26 @@ % using current display style). % V1.5 -Eliminated mathstyle package because of incompatibilites with % many other packages. Implemented \mathchoice approach instead. +% V1.6 -Made available \LMex and \LMpt lengths (Local Math ex and +% Local Math pt), usable inside \ThisStyle arguments (1ex/pt in +% \textstyle and \displaystyle, 0.7ex/pt in \scriptstyle, and +% 0.5ex/pt in \scriptscriptstyle). +% -Revised/shortened/improved \Isnextbyte. +% -Replaced ifthen package calls with etoolbox calls. \usepackage{calc} \usepackage{graphicx} -\usepackage{ifthen} +\usepackage{etoolbox} \global\newlength\thesrwidth \global\newlength\thesrheight \global\newlength\srblobheight \global\newlength\srblobdepth \global\newlength\mnxsrwidth \newsavebox{\prebox} +\newlength\LMex +\newlength\LMpt +\def\scriptstyleScaleFactor{.7} +\def\scriptscriptstyleScaleFactor{.5} \newcommand\scalerel{\@ifstar{\scalerelplain}{\scalerelplus}} @@ -166,33 +175,28 @@ \newcommand\ThisStyle[1]{% \ifmmode% \def\@mmode{T}\mathchoice% - {\edef\m@switch{D}#1}% - {\edef\m@switch{T}#1}% - {\edef\m@switch{S}#1}% - {\edef\m@switch{s}#1}% + {\edef\m@switch{D}\LMex=1ex\relax\LMpt=1pt\relax#1}% + {\edef\m@switch{T}\LMex=1ex\relax\LMpt=1pt\relax#1}% + {\edef\m@switch{S}\LMex=\scriptstyleScaleFactor ex\relax% + \LMpt=\scriptstyleScaleFactor pt\relax#1}% + {\edef\m@switch{s}\LMex=\scriptscriptstyleScaleFactor ex\relax% + \LMpt=\scriptscriptstyleScaleFactor pt\relax#1}% \else% \def\@mmode{F}% - \edef\m@switch{T}#1% + \edef\m@switch{T}\LMex=1ex\relax\LMpt=1pt\relax#1% \fi% } % -%\newcommand\get@mmode{\ifmmode\def\@mmode{T}\else\def\@mmode{F}\fi} -\def\PrimarySignalChar{@} -\def\SecondarySignalChar{`} % THIS CAN REPLACE \isnextbyte IN STRINGSTRINGS PACKAGE % BECAUSE IT WORKS ON CHARS THAT CAN'T BE \edef'ED (\dag, ETC.) \newcommand\Isnextbyte[3][v]{% - \let\SignalChar\PrimarySignalChar% - \protected@edef\@x{\if #2#3\else\SignalChar\fi}% - \protected@edef\@x{\if \SignalChar\@x F\else T\fi}% - \let\SignalChar\SecondarySignalChar% - \protected@edef\@y{\if #2#3\else\SignalChar\fi}% - \protected@edef\@y{\if \SignalChar\@y F\else T\fi}% - \ifthenelse{\equal{\@x\@y}{\@y\@x}}% - {\protected@edef\theresult{\@x}}% - {\protected@edef\theresult{T}}% + \def\SR@Letter@A{#2}% + \SR@nextbyte{\SR@Letter@B}#3\relax\relax\relax% + \ifdefstrequal{\SR@Letter@A}{\SR@Letter@B}% + {\edef\theresult{T}}{\edef\theresult{F}}% \if q#1\else\theresult\fi% } +\def\SR@nextbyte#1#2#3\relax{\def#1{#2}} \endinput |