From 017644609992aa2aa9a6a6db0d9f692c4739110e Mon Sep 17 00:00:00 2001 From: "kurchan.jorge" Date: Wed, 2 Feb 2022 16:23:27 +0000 Subject: Update on Overleaf. --- setstack.sty | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 139 insertions(+), 1 deletion(-) (limited to 'setstack.sty') diff --git a/setstack.sty b/setstack.sty index 1d0130f..da428a6 100644 --- a/setstack.sty +++ b/setstack.sty @@ -1 +1,139 @@ -%% %% This is file `setstack.sty', created by VIK 15 Dec 1998 %% Reproduces useful macros from amsmath.sty, thus avoiding the need to load the entire %% amsmath.sty and run into conflicts %% Adds definitions for \overset, \underset, \sideset, \substack, \boxed, \leftroot, %% \uproot, \dddot, \ddddot, \varrow, \harrow (see The LateX Companion, pp 225-227) \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) [1998/12/15]% LaTeX date must December 1998 or later \ProvidesPackage{setstack} \DeclareRobustCommand{\text}{% \ifmmode\expandafter\text@\else\expandafter\mbox\fi} \let\nfss@text\text \def\text@#1{\mathchoice {\textdef@\displaystyle\f@size{#1}}% {\textdef@\textstyle\tf@size{\firstchoice@false #1}}% {\textdef@\textstyle\sf@size{\firstchoice@false #1}}% {\textdef@\textstyle \ssf@size{\firstchoice@false #1}}% \check@mathfonts } \def\textdef@#1#2#3{\hbox{{% \everymath{#1}% \let\f@size#2\selectfont #3}}} % adds underset, overset, sideset and % substack features from amsmath.sty (Companion p. 226) \def\invalid@tag#1{\@amsmath@err{#1}{\the\tag@help}\gobble@tag} \def\dft@tag{\invalid@tag{\string\tag\space not allowed here}} \def\default@tag{\let\tag\dft@tag} \def\Let@{\let\\\math@cr} \def\restore@math@cr{\def\math@cr@@@{\cr}} \def\overset#1#2{\binrel@{#2}% \binrel@@{\mathop{\kern\z@#2}\limits^{#1}}} \def\underset#1#2{\binrel@{#2}% \binrel@@{\mathop{\kern\z@#2}\limits_{#1}}} \def\sideset#1#2#3{% \@mathmeasure\z@\displaystyle{#3}% \global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@ \setbox\tw@\box\@ne \@mathmeasure4\displaystyle{\copy\tw@#1}% \@mathmeasure6\displaystyle{#3\nolimits#2}% \dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@ \hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}% } \newenvironment{subarray}[1]{% \vcenter\bgroup \Let@ \restore@math@cr \default@tag \baselineskip\fontdimen10 \scriptfont\tw@ \advance\baselineskip\fontdimen12 \scriptfont\tw@ \lineskip\thr@@\fontdimen8 \scriptfont\thr@@ \lineskiplimit\lineskip \ialign\bgroup\ifx c#1\hfil\fi $\m@th\scriptstyle##$\hfil\crcr }{% \crcr\egroup\egroup } \newcommand{\substack}[1]{\subarray{c}#1\endsubarray} % definitions of dddot and ddddot(p. 225) \def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalfont ...}\vss}}}} \def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalfont....}\vss}}}} % definitions of leftroot, uproot (p.225) \begingroup \catcode`\"=12 \gdef\@@sqrt#1{\radical"270370 {#1}} \endgroup \def\leftroot{\@amsmath@err{\Invalid@@\leftroot}\@eha} \def\uproot{\@amsmath@err{\Invalid@@\uproot}\@eha} \newcount\uproot@ \newcount\leftroot@ \def\root{\relaxnext@ \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else \ifx\@let@token\leftroot\let\next@\nextiii@\else \let\next@\plainroot@\fi\fi\next@}% \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}% \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else \DN@.{\FN@\nextv@}\fi\next@.}% \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else \let\next@\plainroot@\fi\next@}% \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}% \def\nextvii@{\ifx\@let@token\@sptoken \DN@. {\FN@\nextviii@}\else \DN@.{\FN@\nextviii@}\fi\next@.}% \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else \let\next@\plainroot@\fi\next@}% \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% \bgroup\uproot@\z@\leftroot@\z@\FN@\next@} \def\plainroot@#1\of#2{\setbox\rootbox\hbox{% $\m@th\scriptscriptstyle{#1}$}% \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} \def\r@@t#1#2{\setboxz@h{$\m@th#1\@@sqrt{#2}$}% \dimen@\ht\z@\advance\dimen@-\dp\z@ \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}% \advance\dimen@ by1.667\wd\@ne \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\mkern\leftroot@ mu\boxz@} % definition of \boxed (math in frame, no dollars) p 225 \def\boxed#1{\fbox{\m@th$\displaystyle#1$}} % definition of \smash for top and bottom parts of expression in braces (p.227) \renewcommand{\smash}[2][tb]{% \def\smash@{#1}% \ifmmode\@xp\mathpalette\@xp\mathsm@sh\else \@xp\makesm@sh\fi{#2}} % additional difinitions for arrows % zero mm wide #2 mm long vertical arrow shifted 1 mm to left, 1 mm up \newcommand{\varrow}[2]{% \unitlength=1mm \begin{picture}(0,6) % (0,0) % - for #1 to point arrow down,+ to point arrow up \end{picture}% \put(0,6){\vector(0,#1 3){#2}} % 6,- for down, 0, + for up } % 1 mm high #2 mm long horizontal arrow shifted 1 mm up (0,-1) \newcommand{\harrow}[2]{% \unitlength=1mm \begin{picture}(8,1)(0,-1) % % 1 mm distance between arrow and stackreled object over it (8,1) \put(0,0){\vector(#1 2,0){#2}} % - to point arrow left, + right \end{picture}% } \endinput %% end of setstack.sty %% Corrections history: %% \ No newline at end of file +%% +%% This is file `setstack.sty', created by VIK 15 Dec 1998 +%% Reproduces useful macros from amsmath.sty, thus avoiding the need to load the entire +%% amsmath.sty and run into conflicts +%% Adds definitions for \overset, \underset, \sideset, \substack, \boxed, \leftroot, +%% \uproot, \dddot, \ddddot, \varrow, \harrow (see The LateX Companion, pp 225-227) +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1998/12/15]% LaTeX date must December 1998 or later +\ProvidesPackage{setstack} +\DeclareRobustCommand{\text}{% + \ifmmode\expandafter\text@\else\expandafter\mbox\fi} + \let\nfss@text\text + \def\text@#1{\mathchoice + {\textdef@\displaystyle\f@size{#1}}% + {\textdef@\textstyle\tf@size{\firstchoice@false #1}}% + {\textdef@\textstyle\sf@size{\firstchoice@false #1}}% + {\textdef@\textstyle \ssf@size{\firstchoice@false #1}}% + \check@mathfonts +} +\def\textdef@#1#2#3{\hbox{{% + \everymath{#1}% + \let\f@size#2\selectfont #3}}} + +% adds underset, overset, sideset and +% substack features from amsmath.sty (Companion p. 226) + +\def\invalid@tag#1{\@amsmath@err{#1}{\the\tag@help}\gobble@tag} +\def\dft@tag{\invalid@tag{\string\tag\space not allowed here}} +\def\default@tag{\let\tag\dft@tag} + +\def\Let@{\let\\\math@cr} +\def\restore@math@cr{\def\math@cr@@@{\cr}} + +\def\overset#1#2{\binrel@{#2}% +\binrel@@{\mathop{\kern\z@#2}\limits^{#1}}} +\def\underset#1#2{\binrel@{#2}% +\binrel@@{\mathop{\kern\z@#2}\limits_{#1}}} +\def\sideset#1#2#3{% +\@mathmeasure\z@\displaystyle{#3}% +\global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@ + \setbox\tw@\box\@ne +\@mathmeasure4\displaystyle{\copy\tw@#1}% +\@mathmeasure6\displaystyle{#3\nolimits#2}% +\dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@ +\hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}% +} + +\newenvironment{subarray}[1]{% +\vcenter\bgroup +\Let@ \restore@math@cr \default@tag +\baselineskip\fontdimen10 \scriptfont\tw@ +\advance\baselineskip\fontdimen12 \scriptfont\tw@ +\lineskip\thr@@\fontdimen8 \scriptfont\thr@@ +\lineskiplimit\lineskip +\ialign\bgroup\ifx c#1\hfil\fi +$\m@th\scriptstyle##$\hfil\crcr +}{% +\crcr\egroup\egroup +} +\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} + +% definitions of dddot and ddddot(p. 225) + +\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont ...}\vss}}}} +\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont....}\vss}}}} + +% definitions of leftroot, uproot (p.225) + +\begingroup \catcode`\"=12 +\gdef\@@sqrt#1{\radical"270370 {#1}} +\endgroup + +\def\leftroot{\@amsmath@err{\Invalid@@\leftroot}\@eha} +\def\uproot{\@amsmath@err{\Invalid@@\uproot}\@eha} +\newcount\uproot@ +\newcount\leftroot@ +\def\root{\relaxnext@ + \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else + \ifx\@let@token\leftroot\let\next@\nextiii@\else + \let\next@\plainroot@\fi\fi\next@}% + \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}% + \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else + \DN@.{\FN@\nextv@}\fi\next@.}% + \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else + \let\next@\plainroot@\fi\next@}% + \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% + \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}% + \def\nextvii@{\ifx\@let@token\@sptoken + \DN@. {\FN@\nextviii@}\else + \DN@.{\FN@\nextviii@}\fi\next@.}% + \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else + \let\next@\plainroot@\fi\next@}% + \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% + \bgroup\uproot@\z@\leftroot@\z@\FN@\next@} +\def\plainroot@#1\of#2{\setbox\rootbox\hbox{% + $\m@th\scriptscriptstyle{#1}$}% + \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} + {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} +\def\r@@t#1#2{\setboxz@h{$\m@th#1\@@sqrt{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}% + \advance\dimen@ by1.667\wd\@ne + \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox + \mkern-10mu\mkern\leftroot@ mu\boxz@} + +% definition of \boxed (math in frame, no dollars) p 225 + +\def\boxed#1{\fbox{\m@th$\displaystyle#1$}} + +% definition of \smash for top and bottom parts of expression in braces (p.227) +\renewcommand{\smash}[2][tb]{% + \def\smash@{#1}% + \ifmmode\@xp\mathpalette\@xp\mathsm@sh\else + \@xp\makesm@sh\fi{#2}} + +% additional difinitions for arrows +% zero mm wide #2 mm long vertical arrow shifted 1 mm to left, 1 mm up +\newcommand{\varrow}[2]{% +\unitlength=1mm + \begin{picture}(0,6) % (0,0) + % - for #1 to point arrow down,+ to point arrow up + \end{picture}% + \put(0,6){\vector(0,#1 3){#2}} % 6,- for down, 0, + for up +} +% 1 mm high #2 mm long horizontal arrow shifted 1 mm up (0,-1) +\newcommand{\harrow}[2]{% +\unitlength=1mm + \begin{picture}(8,1)(0,-1) % + % 1 mm distance between arrow and stackreled object over it (8,1) + \put(0,0){\vector(#1 2,0){#2}} % - to point arrow left, + right + \end{picture}% +} + +\endinput +%% end of setstack.sty +%% Corrections history: +%% -- cgit v1.2.3-70-g09d2