summaryrefslogtreecommitdiff
path: root/macros/generic
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-03-17 03:01:16 +0000
committerNorbert Preining <norbert@preining.info>2023-03-17 03:01:16 +0000
commitcb77be104201eaab9be41990136901f05d4fa4a6 (patch)
tree35d9e43977059833f86218f7a0139a54efb25285 /macros/generic
parent7126e67439fccc8851427298ecccd01727575864 (diff)
CTAN sync 202303170301
Diffstat (limited to 'macros/generic')
-rw-r--r--macros/generic/pdfmsym/README.md26
-rw-r--r--macros/generic/pdfmsym/pdfmsym-doc.pdfbin219777 -> 231276 bytes
-rw-r--r--macros/generic/pdfmsym/pdfmsym-doc.tex107
-rw-r--r--macros/generic/pdfmsym/pdfmsym.tex229
4 files changed, 283 insertions, 79 deletions
diff --git a/macros/generic/pdfmsym/README.md b/macros/generic/pdfmsym/README.md
index f79a98d1cb..ddcb2e5ba1 100644
--- a/macros/generic/pdfmsym/README.md
+++ b/macros/generic/pdfmsym/README.md
@@ -1,25 +1,17 @@
# PDF Math Symbols - pdfMsym
-## version 1.1.0
-
The pdfMsym package provides mathematical symbols for PDF-dependent TeX compilers.
-pdfMsym requires the font size in order to properly scale its symbols, so the following two lines must be added to your document in order to properly load it:
-
- \input pdfmsym
- \pdfmsymsetscalefactor{10}
-
-assuming you want to load the package at a 10pt font, you can change the 10 to whatever suits your needs.
-If you do not add the `\pdfmsymsetscalefactor` line, all of the macros which require pdf drawing won't work, as well as possibly some other macros.
-
-The pdfMsym package also provides a relatively easy-to-use interface for creating new symbols.
-Read the documentation (pdfmsym-doc.pdf) for more details.
-
+Read the documentation (documentation.pdf) for more details.
The pdfMsym package is provided under the MIT license.
-Compile the documentation via `pdftex pdfmsym-doc.tex`.
+Compile the documentation via `pdftex pdfsym-doc.tex`.
The pdfMsym package was created and is maintained by Slurp who can be reached via email: slurper04@gmail.com
Please report any bugs or issues with the package, doing so would be greatly appreciated.
-Suggestions for features to add to the package will also be greatly appreciated.
-Thank you for using pdfMsym,
- - Slurp
+## version 1.1.1
+pdfMsym version 1.1.1 fixed a bug which would cause an error when reading a PDF created with pdfMsym in certain PDF readers.
+
+It also added support for creating arbitrarily stroked arrows, as well as some more arrows.
+
+Lastly, some of the lineheads were altered.
+
diff --git a/macros/generic/pdfmsym/pdfmsym-doc.pdf b/macros/generic/pdfmsym/pdfmsym-doc.pdf
index bd2dab960b..9bdb00b52b 100644
--- a/macros/generic/pdfmsym/pdfmsym-doc.pdf
+++ b/macros/generic/pdfmsym/pdfmsym-doc.pdf
Binary files differ
diff --git a/macros/generic/pdfmsym/pdfmsym-doc.tex b/macros/generic/pdfmsym/pdfmsym-doc.tex
index 9c62195832..753e8a31fc 100644
--- a/macros/generic/pdfmsym/pdfmsym-doc.tex
+++ b/macros/generic/pdfmsym/pdfmsym-doc.tex
@@ -8,7 +8,7 @@
\font\scten = cmcsc10
\def\fakebold#1{\pdf@literal{2 Tr .2 w}#1\pdf@literal{0 Tr 1 w}}
-\def\scalebox[#1]#2{{\setbox0=\hbox{#2}\hbox to#1\wd0{\pdfliteral{q #1 0 0 #1 0 0 cm}\rlap{#2}\pdfliteral{Q}\hfil}}}
+\def\scalebox[#1]#2{{\setbox0=\hbox{#2}\hbox to#1\wd0{\pdf@literal{q #1 0 0 #1 0 0 cm}\rlap{#2}\pdf@literal{Q}\hfil}}}
\def\begincenter{\bgroup\leftskip=0pt plus 1fill \rightskip=\leftskip}
\def\endcenter{\par\egroup}
@@ -29,8 +29,8 @@
\newcount\c@section
\newcount\c@subsection
-\def\section#1{\bigskip\advance\c@section by 1 \c@subsection=0 \bgroup\fontuse cmbx10 scaled 2000 \the\c@section. #1\par\bigskip\egroup}
-\def\subsection#1{\medskip\advance\c@subsection by 1 \bgroup\fontuse cmbx10 scaled 1500 \the\c@section.\the\c@subsection. #1\par\medskip\egroup}
+\def\section#1{\bigskip\advance\c@section by 1 \c@subsection=0 \hbox{\fontuse cmbx10 scaled 2000 \the\c@section. #1}\par\bigskip}
+\def\subsection#1{\medskip\advance\c@subsection by 1 \hbox{\fontuse cmbx10 scaled 1500 \the\c@section.\the\c@subsection. #1}\par\medskip}
\chardef\fslash=`\/
{\catcode`\^^M=\active%
@@ -141,7 +141,7 @@
{\setbox0=\hbox{\fakebold{\pdfMsym}}\centerline{\hbox to8\wd0{\hfil\it version \pdfMsymversion}}}
\centerline{\it S. Lurp}
\centerline{\tt slurper04@gmail.com}
-\centerline{\it December 21, 2022}
+\centerline{\it\pdfMsymupdate}
\bigskip
\hbox to \hsize{\hfil\vbox{\hsize=.7\hsize
@@ -211,8 +211,10 @@ This section will simply be an exhaustive list of all the predefined symbols \pd
\macrousage \oiNint{<N>} /emacrousage
which creates an $N$ dimensional closed loop integral.
Similarly \macroname\biNint{} creates a similar integral sign but rectangular instead of elliptical.
+Finally there is also \macroname\iNint{} which simply creates multiple integrals (this may be desirable instead of manually doing so since it properly set limits both with \macroname\limits{} and
+\macroname\nolimits).
-\line{\hfil$\displaystyle{\textstyle\oiNint{3}_A^B}\quad\oiNint{3}_A^B\hfil\biNint{3}_{A}^{B}\quad{\textstyle\biNint{3}_A^B}$\hfil}
+\line{\hfil$\displaystyle\oiNint{5}_A^B\quad{\textstyle\oiNint{5}_A^B}\hfil\iNint{5}_{A}^{B}\quad{\textstyle\iNint{5}_A^B}\hfil\biNint{3}_{A}^{B}\quad{\textstyle\biNint{3}_A^B}$\hfil}
Additionally, \macroname\lightning{} is provided as a textmode command and renders \lightning.
@@ -258,8 +260,11 @@ And creates an extended arrow to fit both the top and bottom material.
\showcasearrow\varleftrightharp{A\varleftrightharp B}{A\longvarleftrightharp B}{A\xvarleftrightharp{ABC}[abc] B}
\showcasearrow\varrightleftharp{A\varrightleftharp B}{A\longvarrightleftharp B}{A\xvarrightleftharp{ABC}[abc] B}
\showcasearrow\varmapsto{A\varmapsto B}{A\longvarmapsto B}{A\xvarmapsto{ABC}[abc] B}
-\showcasearrow\varhookrightarrow{A\varhookrightarrow B}{A\longvarhookrightarrow B}{A\xvarhookrightarrow{ABC}[abc] B}
-\showcasearrow\varhookleftarrow{A\varhookleftarrow B}{A\longvarhookleftarrow B}{A\xvarhookleftarrow{ABC}[abc] B}
+\showcasearrow\varmapsfrom{A\varmapsfrom B}{A\longvarmapsfrom B}{A\xvarmapsfrom{ABC}[abc] B}
+\showcasearrow\varuphookrightarrow{A\varuphookrightarrow B}{A\longvaruphookrightarrow B}{A\xvaruphookrightarrow{ABC}[abc] B}
+\showcasearrow\varuphookleftarrow{A\varuphookleftarrow B}{A\longvaruphookleftarrow B}{A\xvaruphookleftarrow{ABC}[abc] B}
+\showcasearrow\vardownhookrightarrow{A\vardownhookrightarrow B}{A\longvardownhookrightarrow B}{A\xvardownhookrightarrow{ABC}[abc] B}
+\showcasearrow\vardownhookleftarrow{A\vardownhookleftarrow B}{A\longvardownhookleftarrow B}{A\xvardownhookleftarrow{ABC}[abc] B}
\showcasearrow\vardoublerightarrow{A\vardoublerightarrow B}{A\longvardoublerightarrow B}{A\xvardoublerightarrow{ABC}[abc] B}
\showcasearrow\vardoubleleftarrow{A\vardoubleleftarrow B}{A\longvardoubleleftarrow B}{A\xvardoubleleftarrow{ABC}[abc] B}
\showcasearrow\varcirclerightarrow{A\varcirclerightarrow B}{A\longvarcirclerightarrow B}{A\xvarcirclerightarrow{ABC}[abc] B}
@@ -279,6 +284,18 @@ an identical usage.
\showcasearrow\varRibbonleftarrow{A\varRibbonleftarrow B}{A\longvarRibbonleftarrow B}{A\xvarRibbonleftarrow{ABC}[abc] B}
\showcasearrow\squaredarrow{A\squaredarrow B}{A\longsquaredarrow B}{A\xsquaredarrow{ABC}[abc] B}
\showcasearrow\roundedarrow{A\roundedarrow B}{A\longroundedarrow B}{A\xroundedarrow{ABC}[abc] B}
+\showcasearrow\varrightarrows{A\varrightarrows B}{A\longvarrightarrows B}{A\xvarrightarrows{ABC}[abc] B}
+\showcasearrow\varleftarrows{A\varleftarrows B}{A\longvarleftarrows B}{A\xvarleftarrows{ABC}[abc] B}
+\showcasearrow\varrightleftarrows{A\varrightleftarrows B}{A\longvarrightleftarrows B}{A\xvarrightleftarrows{ABC}[abc] B}
+\showcasearrow\varleftrightarrows{A\varleftrightarrows B}{A\longvarleftrightarrows B}{A\xvarleftrightarrows{ABC}[abc] B}
+
+\pdfMsym{} doesn't stop at two, but it also provides triple stroke arrows which have the same usage as the other two types
+of arrows:
+
+\bigskip
+\showcasearrow\varRrightarrow{A\varRrightarrow B}{A\longvarRrightarrow B}{A\xvarRrightarrow{ABC}[abc] B}
+\showcasearrow\varLleftarrow{A\varLleftarrow B}{A\longvarLleftarrow B}{A\xvarLleftarrow{ABC}[abc] B}
+\showcasearrow\varLleftRrightarrow{A\varLleftRrightarrow B}{A\longvarLleftRrightarrow B}{A\xvarLleftRrightarrow{ABC}[abc] B}
\vfill\eject
\subsection{Wide Accents}
@@ -302,6 +319,7 @@ $$ \suum_{\hbox{abcdef}}^{\hbox{ABCDEF}} \qquad \prood_{\hbox{abcdef}}^{\hbox{AB
These are not available in \xetex.
\fi
+\vfill\penalty-10000
\section{Defining Your Own Symbols}
The following section outlines the interface which \pdfMsym{} utilizes to create its symbols.
@@ -324,11 +342,22 @@ For example, the definition of \macroname\@rarrow{} is:
\def\@rarrow {\@linehead@type{0 0 m 2 0 l 1 0 0 1 0 1.5 c 2 0 m 1 0 0 -1 0 -1.5 c S}{2}}
/endcode
-The predefined lineheads are
-\icode \@rarrow, \@larrow, \@rharp, \@lharp, \@rdharp, \@rlharp, \@mapcap, \@rsarrow, \@lsarrow, \@backhook, \@fronthook, \@doublerarrow, \@doublelarrow, /hfil/break\@circlecap/eicode.
-And the predefined double-stroked/wide lineheads are
-\icode \@Rarrow, \@Larrow, \@Linecap, \@Rightcirclecap, \@Leftcirclecap, \@Rightsquarecap, \@Leftsquarecap, \@Rightribboncap,
-/hfil/break\@Leftribboncap/eicode.
+The following is a table of all the predefined lineheads (scaled for visibility):
+
+\def\fsclh#1{\macroname#1&#1{.4}{1.5}}
+\def\sclh#1{&\macroname#1&#1{.4}{1.5}}
+\quitvmode\hbox to\dimexpr\hsize-\leftskip\relax{\hfil\vbox{\pdfmsymsetscalefactor{20}\everycr{\noalign{\hrule}}
+\halign{\vrule\kern.1cm\strut#\hfil\tabskip=.25cm&\hfil#\hfil\kern.1cm\vrule\tabskip=0pt&&\kern.1cm#\hfil\tabskip=.25cm&\hfil#\hfil\kern.1cm\vrule\tabskip=0pt\cr
+\fsclh\@rarrow \sclh\@larrow \sclh\@rharp \sclh\@lharp\cr
+\fsclh\@rdharp \sclh\@ldharp \sclh\@linecap \sclh\@mapcap\cr
+\fsclh\@mapsfromcap \sclh\@rsarrow \sclh\@lsarrow \sclh\@backuphook\cr
+\fsclh\@frontuphook \sclh\@backdownhook \sclh\@frontdownhook \sclh\@doublerarrow\cr
+\fsclh\@doublelarrow \sclh\@Rarrow \sclh\@Larrow \sclh\@Linecap\cr
+\fsclh\@Rightcirclecap \sclh\@Leftcirclecap \sclh\@Rightsquarecap \sclh\@Leftsquarecap\cr
+\omit\vrule height10pt depth4pt\kern.1cm\fsclh\@Rightribboncap \sclh\@Leftribboncap \sclh\@BigLinecap \sclh\@Rightarrows\cr
+\omit\vrule height10pt depth4pt\kern.1cm\fsclh\@Leftarrows \sclh\@Rightunderarrow \sclh\@Leftunderarrow \sclh\@Rightoverarrow\cr
+\omit\vrule height10pt depth4pt\kern.1cm\fsclh\@Leftoverarrow \sclh\@TripleLinecap \sclh\@TripleRarrow \sclh\@TripleLarrow \cr
+}}\hfil}
\emacroexp
\macroexp{\@vecc@def{<vector name>}<left cap><right cap>} This creates a vector macro, like \macroname\vecc.
@@ -355,18 +384,55 @@ For example, the definition of the {\it varrightarrow} vectors is:
/endcode
\emacroexp
-\macroexp{\@Arrow@def{<arrow name>}<left cap><right cap><height displacement>} This creates a double-stroked arrow, like
+\macroexp{\@Arrow@def{<arrow name>}<left cap><right cap>{<height displacement>}} This creates a double-stroked arrow, like
\macroname\varRightarrow.
This macro creates the normal, long, and extendable versions of the arrow.
{\it height displacement} is half the difference in height between the two strokes (the difference of height between one stroke
and the center).
For the default double stroke linecaps \pdfMsym{} defines, this should be $1$.
-For example, the definition of {\it varRightarrow} is:
+For example, the definition of \macroname\varRightarrow{} is:
\begincode
\@Arrow@def{varRightarrow}\@Linecap\@Rarrow{1}
/endcode
\emacroexp
+\macroexp{\@multi@Arrow@def{<arrow name>}{<number strokes>}<left cap><right cap>{<height displacement>}} This creates an arrow
+with any number of strokes according to {\tt number strokes}.
+Doing \macroname\@multi@Arrow@def{} with $1$ or $2$ strokes is equivalent to \macroname\@arrow@def{} or \macroname\@Arrow@def{},
+respectively.
+Similar to above, {\it height displacement} is half the difference between two adjacent strokes.
+For example, the definition of \macroname\varRrightarrow{} is:
+\begincode
+\@multi@Arrow@def{varRrightarrow}{3}\@TripleLinecap\@TripleRarrow{1}
+/endcode
+\emacroexp
+
+\macroexp{\@arrow@type<left cap><right cap>{<length>}} This draws a single-stroke arrow whose caps are {\it left cap} and
+{\it right cap} respectively and whose length is {\tt length}.
+This is used by \macroname\@arrow@def{}, for example \macroname\varrightarrow{} is defined to be
+\begincode
+\@arrow@type\@linecap\@rarrow{\arrow@len}
+/endcode
+\emacroexp
+
+\macroexp{\@Arrow@type<left cap><right cap>{<length>}{<height displacement>}} This draws a double-stroke arrow, the parameters
+have the same usage as in \macroname\@Arrow@def.
+This is used by \macroname\@Arrow@def, for example \macroname\varRightarrow{} is defined to be:
+\begincode
+\@Arrow@type\@Linecap\@Rarrow{\Arrow@len}{1}
+/endcode
+\emacroexp
+
+\macroexp{\@multi@Arrow@type{<number strokes>}<left cap><right cap>{<length>}{<height displacement>}} This draws an \penalty-10 arrow with a
+specified number of strokes.
+The usage of the parameters is identical to theirs in\hfill\penalty-1000 \macroname\@multi@Arrow@def.
+This is used by \macroname\@multi@Arrow@def, for example \macroname\varRrightarrow{} is defined to be:
+\message{MEANING: \meaning\varRrightarrow}
+\begincode
+\@multi@Arrow@type{3}\@TripleLinecap\@TripleRarrow{\Arrow@len}{1.5}
+/endcode
+\emacroexp
+
\macroexp{\@wide@accent{<pdf code>}} This creates a wide accent, like \macroname\varwidecheck.
The width of the drawing by the {\it pdf code} should be $1$, and it should be filled not stroked (since the accent is
transformed to stretch over the material beneath it).
@@ -486,23 +552,30 @@ purposes throught its symbol definitions.
Dimensions are all defined as macros, and are all dimensionless.
If a dimension is defined as $1$ then it corresponds to $1$ in $10$pt font.
-{\everycr{\noalign{\kern10pt}}\halign{\tt\vtop{\hsize=.2\hsize#}\hfil\tabskip=.05\hsize&\hfil\vtop{\hsize=.75\hsize#}\tabskip=0pt\cr
+{\everycr{\noalign{\kern10pt}}\halign{\tt\vtop{\hsize=.175\hsize#}\hfil\tabskip=.05\hsize&\hfil\vtop{\hsize=.75\hsize#}\tabskip=0pt\cr
\string\@font@scale & The amount of scaling relative to $10$pt, this is defined via \macroname\pdfmsymsetscalefactor.\cr
\string\vecc@w & The height of the arrows, similarly there is \macroname\vecc@hw{} which must be equal to half of \macroname\vecc@w.\cr
\string\vecc@skew & \pdfMsym{} leaves a space of \macroname\vecc@skew{} between the ends of material and the endpoints of
the vector on top or below the material.\cr
\string\vecc@X@s\par\string\vecc@X@sf & \macroname\vecc@X@s{} is the ratio of the scaling factor (as a decimal) of the
-$X$ math style ($X$ can be {\tt displaystyle}, {\tt textstyle}, etc.).
+{\tt X} math style ({\tt X} can be {\tt displaystyle}, {\tt textstyle}, etc.).
Similarly \macroname\vecc@X@sf{} should be numerically equivalent to \macroname\vecc@X@s{} but written as a fraction.
\pdfMsym{} scales (many, but not all, see \macroname\exsym@X@s{} and \macroname\exsym@X@sf) math macros according to these values.\cr
\string\vecc@skip & The amount of space between material and the vector symbol above or below it.\cr
\string\arrow@skip & The math kerning to be used around an arrow.
\macroname\arrow@skip{} must be defined as glue, eg \icode \mkern1mu/eicode.\cr
+\string\arrow@len & The length of an arrow defined by \macroname\@arrow@def.
+\macroname\arrow@len{} is a unit, for example \pdfMsym{} defines it as {\tt 6}.
+This length does not include the lengths of the arrow caps.\cr
+\string\long@arrow@len & The length of a long arrow defined by \macroname\@arrow@def.\cr
+\string\Arrow@len & The length of a double stroked arrow defined by \macroname\@Arrow@def.\cr
+\string\long@Arrow@len & The length of a long double stroked arrow defined by \macroname\@Arrow@def.\cr
\string\xarrow@buffer & The amount of extra arrow to add between the caps of an extendable arrow and when the above/below material begins.\cr
\string\accent@skew & Analogous to \macroname\vecc@skew{} but for extendable accents.\cr
\string\accent@raise & Analogous to \macroname\vecc@skip{} but for extendable accents.\cr
-\string\exsym@X@s\par\string\exsym@X@sf & Analogous to \macroname\vecc@X@s{} and \macroname\vecc@X@sf but used by \macroname\putexsym.\cr
+\string\exsym@X@s\par\string\exsym@X@sf & Analogous to \macroname\vecc@X@s{} and \macroname\vecc@X@sf{} but used by \macroname\putexsym.\cr
\string\iNint@kern@ & The amount of kerning to put between integral signs in \macroname\iNint.
This must be given as glue, eg. \icode \mkern-10mu\mathchoice{\mkern-5mu}{}{}{}/eicode.\cr
}}
+
\end
diff --git a/macros/generic/pdfmsym/pdfmsym.tex b/macros/generic/pdfmsym/pdfmsym.tex
index f08317ac56..72be2071b9 100644
--- a/macros/generic/pdfmsym/pdfmsym.tex
+++ b/macros/generic/pdfmsym/pdfmsym.tex
@@ -1,14 +1,15 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pdfMsym %
% PDF Math Symbols Package %
-% Slurp December, 2022 %
+% Slurp March, 2023 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\edef\strudelccode{\the\catcode`\@}
\catcode`\@=11
\def\pdfMsym{{\scten pdf}{\rm M}{\scten sym}}
-\def\pdfMsymversion{1.1.0}
+\def\pdfMsymversion{1.1.1}
+\def\pdfMsymupdate{March 16, 2023}
\ifx\@gobble\undefined
\long\def\@gobble#1{}
@@ -25,7 +26,7 @@
\fi%
}
- \def\@ifnextchar#1#2#3{%
+ \long\def\@ifnextchar#1#2#3{%
\let\@reg@A=#1\relax\def\@reg@B{#2}\def\@reg@C{#3}%
\futurelet\@reg@D\@@ifnextchar%
}
@@ -50,7 +51,7 @@
\def\@remzero#10{#1}
\def\@nopt#1{\expandafter\@ignorept\the\dimexpr #1\relax}
-\def\pdf@literal#1{\special{pdf:literal #1}}
+\def\pdf@literal#1{\special{pdf: #1}}
\unless\ifx\saveboxresource\undefined
\let\pdfxform=\saveboxresource
@@ -84,24 +85,29 @@
{\@@linehead@type{#3}{#4}{#1}{#2}[1][1]}%
}
-\def\@rarrow {\@linehead@type{0 0 m 2 0 l 1 0 0 1.2 0 1.5 c 2 0 m 1 0 0 -1.2 0 -1.5 c S}{2}}
-\def\@larrow {\@linehead@type{2 0 m 0 0 l 1 0 2 1.2 2 1.5 c 0 0 m 1 0 2 -1.2 2 -1.5 c S}{2}}
-\def\@rharp {\@linehead@type{0 0 m 2 0 l 1 0 0 1 0 1.5 c S}{2}}
-\def\@lharp {\@linehead@type{2 0 m 0 0 l 1 0 2 1 2 1.5 c S}{2}}
-\def\@rdharp {\@linehead@type{0 0 m 2 0 l 1 0 0 -1 0 -1.5 c S}{2}}
-\def\@ldharp {\@linehead@type{2 0 m 0 0 l 1 0 2 -1 2 -1.5 c S}{2}}
+\def\@emptylinehead{\@linehead@type{}{0}}
+
+\def\@rarrow {\@linehead@type{0 0 m 2 0 l 1 .2 0 1.2 0 1.5 c 2 0 m 1 -.2 0 -1.2 0 -1.5 c S}{2}}
+\def\@larrow {\@linehead@type{2 0 m 0 0 l 1 .2 2 1.2 2 1.5 c 0 0 m 1 -.2 2 -1.2 2 -1.5 c S}{2}}
+\def\@rharp {\@linehead@type{0 0 m 2 0 l 1 .2 0 1.2 0 1.5 c S}{2}}
+\def\@lharp {\@linehead@type{2 0 m 0 0 l 1 .2 2 1.2 2 1.5 c S}{2}}
+\def\@rdharp {\@linehead@type{0 0 m 2 0 l 1 -.2 0 -1.2 0 -1.5 c S}{2}}
+\def\@ldharp {\@linehead@type{2 0 m 0 0 l 1 -.2 2 -1.2 2 -1.5 c S}{2}}
\def\@linecap{\@linehead@type{0 0 m 1 0 l S}{1}}
\def\@mapcap {\@linehead@type{0 1.5 m 0 -1.5 l 0 0 m 1 0 l S}{1}}
+\def\@mapsfromcap {\@linehead@type{1 1.5 m 1 -1.5 l 1 0 m 0 0 l S}{1}}
\def\@rsarrow{\@linehead@type{0 0 m 2 0 l 0 1 l 2 0 m 0 -1 l S}{2}}
\def\@lsarrow{\@linehead@type{2 0 m 0 0 l 2 1 l 0 0 m 2 -1 l S}{2}}
-\def\@backhook{\@linehead@type{1 2 m .5 2 0 1.5 0 1 c 0 .5 .5 0 1 0 c S}{1}}
-\def\@fronthook{\@linehead@type{0 2 m .5 2 1 1.5 1 1 c 1 .5 .5 0 0 0 c S}{1}}
-\def\@doublerarrow{\@linehead@type{0 0 m 2 0 l 1 0 0 1.2 0 1.5 c 2 0 m 1 0 0 -1.2 0 -1.5 c 2 0 m 4 0 l 3 0 2 1.2 2 1.5 c 4 0 m 3 0 2 -1.2 2 -1.5 c S}{4}}
-\def\@doublelarrow{\@linehead@type{4 0 m 2 0 l 3 0 4 1.2 4 1.5 c 2 0 m 3 0 4 -1.2 4 -1.5 c 2 0 m 0 0 l 1 0 2 1.2 2 1.5 c 0 0 m 1 0 2 -1.2 2 -1.5 c S}{4}}
+\def\@backuphook{\@linehead@type{1 2 m .5 2 0 1.5 0 1 c 0 .5 .5 0 1 0 c S}{1}}
+\def\@frontuphook{\@linehead@type{0 2 m .5 2 1 1.5 1 1 c 1 .5 .5 0 0 0 c S}{1}}
+\def\@backdownhook{\@linehead@type{1 0 m .5 0 0 -.5 0 -1 c 0 -1.5 .5 -2 1 -2 c S}{1}}
+\def\@frontdownhook{\@linehead@type{0 0 m .5 0 1 -.5 1 -1 c 1 -1.5 .5 -2 0 -2 c S}{1}}
+\def\@doublerarrow{\@linehead@type{0 0 m 2 0 l 1 .2 0 1.2 0 1.5 c 2 0 m 1 -.2 0 -1.2 0 -1.5 c 2 0 m 4 0 l 3 .2 2 1.2 2 1.5 c 4 0 m 3 -.2 2 -1.2 2 -1.5 c S}{4}}
+\def\@doublelarrow{\@linehead@type{4 0 m 2 0 l 3 .2 4 1.2 4 1.5 c 2 0 m 3 -.2 4 -1.2 4 -1.5 c 2 0 m 0 0 l 1 .2 2 1.2 2 1.5 c 0 0 m 1 -.2 2 -1.2 2 -1.5 c S}{4}}
\def\@circlecap{\@linehead@type{0 0 m 0 .5 .5 1 1 1 c 1.5 1 2 .5 2 0 c 2 -.5 1.5 -1 1 -1 c .5 -1 0 -.5 0 0 c S}{2}}
-\def\@Rarrow {\@linehead@type{0 -1 m 1 -1 l 0 1 m 1 1 l 3 0 m 1.5 0 0 2 0 2.5 c 3 0 m 1.5 0 0 -2 0 -2.5 c S}{3}}
-\def\@Larrow {\@linehead@type{3 -1 m 2 -1 l 3 1 m 2 1 l 0 0 m 1.5 0 3 2 3 2.5 c 0 0 m 1.5 0 3 -2 3 -2.5 c S}{3}}
+\def\@Rarrow {\@linehead@type{0 -1 m 1 -1 l 0 1 m 1 1 l 3 0 m 1.5 .3 0 2 0 2.5 c 3 0 m 1.5 -.3 0 -2 0 -2.5 c S}{3}}
+\def\@Larrow {\@linehead@type{3 -1 m 2 -1 l 3 1 m 2 1 l 0 0 m 1.5 .3 3 2 3 2.5 c 0 0 m 1.5 -.3 3 -2 3 -2.5 c S}{3}}
\def\@Linecap {\@linehead@type{0 -1 m 1 -1 l 0 1 m 1 1 l S}{1}}
\def\@Rightcirclecap{\@linehead@type{0 1 m .5 1 1 .5 1 0 c 1 -.5 .5 -1 0 -1 c S}{1}}
\def\@Leftcirclecap{\@linehead@type{1 1 m .5 1 0 .5 0 0 c 0 -.5 .5 -1 1 -1 c S}{1}}
@@ -109,9 +115,20 @@
\def\@Leftsquarecap{\@linehead@type{1 1 m 0 1 l 0 -1 l 1 -1 l S}{1}}
\def\@Rightribboncap{\@linehead@type{0 1 m 2 1 l 0 0 l 2 -1 l 0 -1 l S}{2}}
\def\@Leftribboncap{\@linehead@type{1.5 1 m 0 1 l 1.5 0 l 0 -1 l 1.5 -1 l S}{1.5}}
+\def\@BigLinecap{\@linehead@type{0 -1.5 m 1 -1.5 l 0 1.5 m 1 1.5 l S}{1}}
+\def\@Rightarrows{\@linehead@type{0 -1.5 m 2 -1.5 l 1 -1.3 0 -.5 0 0 c 2 -1.5 m 1 -1.7 0 -2.5 0 -3 c 0 1.5 m 2 1.5 l 1 1.7 0 2.5 0 3 c 2 1.5 m 1 1.3 0 .5 0 0 c S}{2}}
+\def\@Leftarrows {\@linehead@type{2 -1.5 m 0 -1.5 l 1 -1.3 2 -.5 2 0 c 0 -1.5 m 1 -1.7 2 -2.5 2 -3 c 2 1.5 m 0 1.5 l 1 1.7 2 2.5 2 3 c 0 1.5 m 1 1.3 2 .5 2 0 c S}{2}}
+\def\@Rightunderarrow{\@linehead@type{0 -1.5 m 2 -1.5 l 1 -1.3 0 -.5 0 0 c 2 -1.5 m 1 -1.7 0 -2.5 0 -3 c 0 1.5 m 2 1.5 l S}{2}}
+\def\@Leftunderarrow{\@linehead@type{2 -1.5 m 0 -1.5 l 1 -1.3 2 -.5 2 0 c 0 -1.5 m 1 -1.7 2 -2.5 2 -3 c 2 1.5 m 0 1.5 l S}{2}}
+\def\@Rightoverarrow{\@linehead@type{0 1.5 m 2 1.5 l 1 1.7 0 2.5 0 3 c 2 1.5 m 1 1.3 0 .5 0 0 c 0 -1.5 m 2 -1.5 l S}{2}}
+\def\@Leftoverarrow{\@linehead@type{2 1.5 m 0 1.5 l 1 1.7 2 2.5 2 3 c 0 1.5 m 1 1.3 2 .5 2 0 c 2 -1.5 m 0 -1.5 l S}{2}}
\def\@Circlescap{\@linehead@type{0 -1 m 0 -.5 .5 0 1 0 c 1.5 0 2 -.5 2 -1 c 2 -1.5 1.5 -2 1 -2 c .5 -2 0 -1.5 0 -1 c
0 1 m 0 1.5 .5 2 1 2 c 1.5 2 2 1.5 2 1 c 2 .5 1.5 0 1 0 c .5 0 0 .5 0 1 c S}{2}}
+\def\@TripleLinecap{\@linehead@type{0 -2 m 1 -2 l 0 0 m 1 0 l 0 2 m 1 2 l S}{1}}
+\def\@TripleRarrow {\@linehead@type{0 -2 m .7 -2 l 0 0 m 3.5 0 l 0 2 m .7 2 l 3.5 0 m 2 .5 .5 2 .2 3.2 c 3.5 0 m 2 -.5 .5 -2 .2 -3.2 c S}{3.5}}
+\def\@TripleLarrow {\@linehead@type{3.5 -2 m 2.8 -2 l 3.5 0 m 0 0 l 3.5 2 m 2.8 2 l 0 0 m 1.5 .5 3 2 3.3 3.2 c 0 0 m 1.5 -.5 3 -2 3.3 -3.2 c S}{3.5}}
+
\def\vecc@w{.4} \def\vecc@hw{.2} \def\vecc@skew{2.5}
\def\vecc@displaystyle@s{1} \def\vecc@displaystyle@sf{1}
\def\vecc@textstyle@s{1} \def\vecc@textstyle@sf{1}
@@ -189,8 +206,8 @@
\unless\ifx\pdfxform\undefined
\def\@@constvec#1#2#3{{%
- \setbox1=\hbox{$#1#3$}%
- \setbox0=\hbox{$#1\smash{#3}\vrule height1.3ex width0pt depth\dimexpr\dp1+1pt\relax$}%
+ \setbox1=\hbox{$\m@th#1#3$}%
+ \setbox0=\hbox{$\m@th#1\smash{#3}\vrule height1.3ex width0pt depth\dimexpr\dp1+1pt\relax$}%
\pdfxform0%
#2{\smash{\pdfrefxform\pdflastxform}\vphantom{x}}%
}}
@@ -201,7 +218,7 @@
\def\arrow@skip{\mkern1mu}
\def\xarrow@buffer{1}
\def\@@@xarrow@type#1#2#3#4#5#6#7{\mathrel{\arrow@skip%
- \vcenter{\hbox{$#7%
+ \vcenter{\hbox{$\m@th#7%
#1{\vecc@w}{\vecc@hw}[#5][#6]%
\vrule width\dimexpr \xarrow@buffer pt * \@font@scale\relax height \dimexpr \vecc@w pt * #5 * \@font@scale\relax depth0pt%
\smash{\mathord{\mathop{\kern\z@\leaders\hrule height \dimexpr \vecc@w pt * #5 * \@font@scale\relax\hfill}\limits^{#3}_{#4}}}%
@@ -216,9 +233,9 @@
\def\@xarrow@type#1#2#3#4{\mathpalette\@@xarrow@type{{#1}{#2}{#3}{#4}}}
\def\@@@arrow@type#1#2#3#4#5#6{\mathrel{\arrow@skip%
- \vcenter{\hbox{$#6%
+ \vcenter{\hbox{$\m@th#6%
#1{\vecc@w}{\vecc@hw}[#4][#5]%
- \vrule width \dimexpr #3 * #4\relax height \dimexpr \vecc@w pt * #4 * \@font@scale\relax depth 0pt%
+ \vrule width \dimexpr #3pt * #4 * \@font@scale\relax height \dimexpr \vecc@w pt * #4 * \@font@scale\relax depth 0pt%
#2{\vecc@w}{\vecc@hw}[#4][#5]%
$}}\arrow@skip%
}}
@@ -227,9 +244,11 @@
\def\@arrow@type#1#2#3{\mathpalette\@@arrow@type{{#1}{#2}{#3}}}
+\def\arrow@len{6}
+\def\long@arrow@len{12}
\def\@arrow@def#1#2#3{%
- \expandafter\def\csname #1\endcsname{\@arrow@type{#2}{#3}{1ex}}%
- \expandafter\def\csname long#1\endcsname{\@arrow@type{#2}{#3}{3ex}}%
+ \expandafter\def\csname #1\endcsname{\@arrow@type{#2}{#3}{\arrow@len}}%
+ \expandafter\def\csname long#1\endcsname{\@arrow@type{#2}{#3}{\long@arrow@len}}%
\expandafter\def\csname @x#1\endcsname##1[##2]{\@xarrow@type{#2}{#3}{##1}{##2}}%
\expandafter\def\csname x#1\endcsname##1{%
\@ifnextchar[ {\csname @x#1\endcsname{##1}}%
@@ -245,8 +264,11 @@
\@arrow@def{varleftrightharp}\@lharp\@rdharp
\@arrow@def{varrightleftharp}\@ldharp\@rharp
\@arrow@def{varmapsto}\@mapcap\@rarrow
-\@arrow@def{varhookrightarrow}\@backhook\@rarrow
-\@arrow@def{varhookleftarrow}\@larrow\@fronthook
+\@arrow@def{varmapsfrom}\@larrow\@mapsfromcap
+\@arrow@def{varuphookrightarrow}\@backuphook\@rarrow
+\@arrow@def{varuphookleftarrow}\@larrow\@frontuphook
+\@arrow@def{vardownhookrightarrow}\@backdownhook\@rarrow
+\@arrow@def{vardownhookleftarrow}\@larrow\@frontdownhook
\@arrow@def{vardoublerightarrow}\@linecap\@doublerarrow
\@arrow@def{vardoubleleftarrow}\@doublelarrow\@linecap
\@arrow@def{varcirclerightarrow}\@circlecap\@rarrow
@@ -270,7 +292,7 @@
% #1 width #2 bar height difference #3 mathstyle scale (fraction)
\def\@Arrow@rule#1#2#3{%
- \@@Arrow@rule{\dimexpr #1 * #3\relax}{#2}{#3}%
+ \@@Arrow@rule{\dimexpr #1pt * #3 * \@font@scale\relax}{#2}{#3}%
}
% #1 left cap
@@ -282,21 +304,21 @@
% #7 mathstyle scale (decimal)
% #8 mathstyle
\def\@@@xArrow@type#1#2#3#4#5#6#7#8{\mathrel{\arrow@skip%
- {\setbox0=\hbox{$#8-$}\raise.5\dimexpr\ht0-\dp0-(\vecc@w pt * #6 * \@font@scale)\relax\hbox{$#8%
- \setbox0=\hbox{$\@subscriptconv#8#5$}%
+ {\setbox0=\hbox{$\m@th#8-$}\raise.5\dimexpr\ht0-\dp0-(\vecc@w pt * #6 * \@font@scale)\relax\hbox{$\m@th#8%
+ \setbox0=\hbox{$\m@th\@subscriptconv#8#5$}%
#1{\vecc@w}{\vecc@hw}[#6][#7]%
- \@Arrow@rule{\xarrow@buffer pt}{#3 pt}{#6}%
+ \@Arrow@rule{\xarrow@buffer}{#3 pt}{#6}%
\lower\dimexpr (#3 pt + \vecc@skip ex) * #6 * \@font@scale+\ht0\relax
\vbox{\offinterlineskip%
\ialign{\hfil##\hfil\cr
- $\@subscriptconv#8#4$\cr\noalign{\kern\dimexpr\vecc@skip ex * #6 * \@font@scale\relax}%
+ $\m@th\@subscriptconv#8#4$\cr\noalign{\kern\dimexpr\vecc@skip ex * #6 * \@font@scale\relax}%
\leaders\hrule height \dimexpr \vecc@w pt * #6 * \@font@scale\relax\hfill\cr%
\noalign{\kern\dimexpr #3 pt * #6 * \@font@scale * 2 - \vecc@w pt * #6 * \@font@scale\relax}%
\leaders\hrule height \dimexpr \vecc@w pt * #6 * \@font@scale\relax\hfill\cr\noalign{\kern\dimexpr\vecc@skip ex * #6 * \@font@scale\relax}%
- $\@subscriptconv#8#5$\cr%
+ $\m@th\@subscriptconv#8#5$\cr%
}%
}%
- \@Arrow@rule{\xarrow@buffer pt}{#3 pt}{#6}%
+ \@Arrow@rule{\xarrow@buffer}{#3 pt}{#6}%
#2{\vecc@w}{\vecc@hw}[#6][#7]%
$}}%
\arrow@skip%
@@ -306,7 +328,7 @@
\def\@xArrow@type#1#2#3#4#5{\mathpalette\@@xArrow@type{{#1}{#2}{#3}{#4}{#5}}}
\def\@@@Arrow@type#1#2#3#4#5#6#7{\mathrel{\arrow@skip%
- \vcenter{\hbox{$#7%
+ \vcenter{\hbox{$\m@th#7%
#1{\vecc@w}{\vecc@hw}[#5][#6]%
\@Arrow@rule{#3}{#4pt}{#5}%
#2{\vecc@w}{\vecc@hw}[#5][#6]%
@@ -316,9 +338,11 @@
\def\@@Arrow@type#1#2{\@@@Arrow@type#2{\csname vecc@\m@strip#1@sf\endcsname}{\csname vecc@\m@strip#1@s\endcsname}{#1}}
\def\@Arrow@type#1#2#3#4{\mathpalette\@@Arrow@type{{#1}{#2}{#3}{#4}}}
+\def\Arrow@len{5}
+\def\long@Arrow@len{9}
\def\@Arrow@def#1#2#3#4{%
- \expandafter\def\csname #1\endcsname{\@Arrow@type{#2}{#3}{1ex}{#4}}%
- \expandafter\def\csname long#1\endcsname{\@Arrow@type{#2}{#3}{2ex}{#4}}%
+ \expandafter\def\csname #1\endcsname{\@Arrow@type{#2}{#3}{\Arrow@len}{#4}}%
+ \expandafter\def\csname long#1\endcsname{\@Arrow@type{#2}{#3}{\long@Arrow@len}{#4}}%
\expandafter\def\csname @x#1\endcsname##1[##2]{\@xArrow@type{#2}{#3}{#4}{##1}{##2}}%
\expandafter\def\csname x#1\endcsname##1{%
\@ifnextchar[ {\csname @x#1\endcsname{##1}}%
@@ -336,13 +360,95 @@
\@Arrow@def{varRibbonleftarrow}\@Larrow\@Rightribboncap{1}
\@Arrow@def{roundedarrow}\@Leftcirclecap\@Rightcirclecap{1}
\@Arrow@def{squaredarrow}\@Leftsquarecap\@Rightsquarecap{1}
+\@Arrow@def{varrightarrows}\@BigLinecap\@Rightarrows{1.5}
+\@Arrow@def{varleftarrows}\@Leftarrows\@BigLinecap{1.5}
+\@Arrow@def{varrightleftarrows}\@Leftunderarrow\@Rightoverarrow{1.5}
+\@Arrow@def{varleftrightarrows}\@Leftoverarrow\@Rightunderarrow{1.5}
\@Arrow@def{rightPP}\@Circlescap\@Rightcirclecap{1}
\@Arrow@def{leftPP}\@Leftcirclecap\@Circlescap{1}
+% #1 number of rules #2 width #3 bar height difference #4 mathstyle scale (fraction)
+\def\@multi@Arrow@rule#1#2#3#4{%
+ \lower\dimexpr #3 * #4 * \@font@scale * (#1 - 1)\relax
+ \vbox{%
+ \pdfmsym@repeated{\numexpr #1 - 1\relax}{%
+ \hrule width \dimexpr #2pt * #4 * \@font@scale\relax height \dimexpr \vecc@w pt * #4 * \@font@scale\relax depth\z@%
+ \kern\dimexpr #3 * #4 * \@font@scale * 2 - \vecc@w pt * #4 * \@font@scale\relax%
+ }%
+ \hrule width \dimexpr #2pt * #4 * \@font@scale\relax height \dimexpr \vecc@w pt * #4 * \@font@scale\relax depth\z@%
+ }%
+}
+
+% #1 number rules
+% #2 left cap
+% #3 right cap
+% #4 bar displacement
+% #5 top material
+% #6 bottom material
+% #7 mathstyle scale (fraction)
+% #8 mathstyle scale (decimal)
+% #9 mathstyle
+\def\@@@multi@xArrow@type#1#2#3#4#5#6#7#8#9{\mathrel{\arrow@skip%
+ {\setbox0=\hbox{$\m@th#9-$}\raise.5\dimexpr\ht0-\dp0-(\vecc@w pt * #7 * \@font@scale)\relax%
+ \hbox{$\m@th#9%
+ \setbox0=\hbox{$\m@th\@subscriptconv#9#6$}%
+ #2{\vecc@w}{\vecc@hw}[#7][#8]%
+ \@multi@Arrow@rule{#1}{\xarrow@buffer}{#4pt}{#7}%
+ \lower\dimexpr (#4pt * (#1 - 1) + \vecc@skip ex) * #7 * \@font@scale +\ht0\relax
+ \vbox{\offinterlineskip%
+ \ialign{\hfil##\hfil\cr%
+ $\m@th\@subscriptconv#9#5$\cr%
+ \noalign{\kern\dimexpr\vecc@skip ex * #7 * \@font@scale\relax}%
+ \pdfmsym@repeated{\numexpr #1-1\relax}{%
+ \leaders\hrule height \dimexpr \vecc@w pt * #7 * \@font@scale\relax\hfill\cr%
+ \noalign{\kern\dimexpr #4pt * #7 * \@font@scale * 2 - \vecc@w pt * #7 * \@font@scale\relax}%
+ }%
+ \leaders\hrule height \dimexpr \vecc@w pt * #7 * \@font@scale\relax\hfill\cr
+ \noalign{\kern\dimexpr\vecc@skip ex * #7 * \@font@scale\relax}%
+ $\m@th\@subscriptconv#9#6$\cr%
+ }%
+ }%
+ \@multi@Arrow@rule{#1}{\xarrow@buffer}{#4pt}{#7}%
+ #3{\vecc@w}{\vecc@hw}[#7][#8]%
+ $}}%
+ \arrow@skip%
+}}
+
+\def\@@multi@xArrow@type#1#2{\@@@multi@xArrow@type#2{\csname vecc@\m@strip#1@sf\endcsname}{\csname vecc@\m@strip#1@s\endcsname}{#1}}
+\def\@multi@xArrow@type#1#2#3#4#5#6{\mathpalette\@@multi@xArrow@type{{#1}{#2}{#3}{#4}{#5}{#6}}}
+
+\def\@@@multi@Arrow@type#1#2#3#4#5#6#7#8{\mathrel{\arrow@skip%
+ \vcenter{\hbox{$\m@th#8%
+ #2{\vecc@w}{\vecc@hw}[#6][#7]%
+ \@multi@Arrow@rule{#1}{#4}{#5pt}{#6}%
+ #3{\vecc@w}{\vecc@hw}[#6][#7]%
+ $}}\arrow@skip%
+}}
+
+
+\def\@@multi@Arrow@type#1#2{\@@@multi@Arrow@type#2{\csname vecc@\m@strip#1@sf\endcsname}{\csname vecc@\m@strip#1@s\endcsname}{#1}}
+% #1 number of rules #2 left cap #3 right cap #4 length #5 bar height difference
+\def\@multi@Arrow@type#1#2#3#4#5{\mathpalette\@@multi@Arrow@type{{#1}{#2}{#3}{#4}{#5}}}
+
+% #1 name #2 number of rules #3 left cap #4 right cap #5 height difference
+\def\@multi@Arrow@def#1#2#3#4#5{%
+ \expandafter\def\csname #1\endcsname{\@multi@Arrow@type{#2}{#3}{#4}{\Arrow@len}{#5}}%
+ \expandafter\def\csname long#1\endcsname{\@multi@Arrow@type{#2}{#3}{#4}{\long@Arrow@len}{#5}}%
+ \expandafter\def\csname @x#1\endcsname##1[##2]{\@multi@xArrow@type{#2}{#3}{#4}{#5}{##1}{##2}}%
+ \expandafter\def\csname x#1\endcsname##1{%
+ \@ifnextchar[ {\csname @x#1\endcsname{##1}}%
+ {\csname @x#1\endcsname{##1}[]}%
+ }%
+}
+
+\@multi@Arrow@def{varRrightarrow}{3}\@TripleLinecap\@TripleRarrow{1}
+\@multi@Arrow@def{varLleftarrow}{3}\@TripleLarrow\@TripleLinecap{1}
+\@multi@Arrow@def{varLleftRrightarrow}{3}\@TripleLarrow\@TripleRarrow{1}
+
\def\accent@skew{.4}
\def\accent@raise{.25}
\def\@@@wide@accent#1#2#3{{%
- \setbox0=\hbox{$#3#1$}%
+ \setbox0=\hbox{$\m@th#3#1$}%
\vbox{\offinterlineskip%
\ialign{##\cr
\hbox to \wd0{\hskip\dimexpr \accent@skew ex * \@font@scale\relax%
@@ -423,9 +529,9 @@
\def\@@putexsym#1#2#3#4#5#6#7#8{{%
\setbox0=\hbox{$\m@th#8#1$}%
\setbox1=\hbox{$\m@th#2{\vecc@w}{\vecc@hw}[#6][#7]$}%
- \kern\dimexpr\wd1 - #5 pt * #6 * \@font@scale\relax\rlap{$#8#1$}\kern-\dimexpr\wd1 - #5pt * #6 * \@font@scale\relax%
+ \kern\dimexpr\wd1 - #5 pt * #6 * \@font@scale\relax\rlap{$\m@th#8#1$}\kern-\dimexpr\wd1 - #5pt * #6 * \@font@scale\relax%
\raise.5\dimexpr\ht0-\dp0\relax
- \vbox{\hbox{$#8#2{\vecc@w}{\vecc@hw}[#6][#7]\@@Arrow@rule{\dimexpr\wd0- #5 pt * #6 * \@font@scale * 2\relax}{#4 pt}{#6}#3{\vecc@w}{\vecc@hw}[#6][#7]$}}%
+ \vbox{\hbox{$\m@th#8#2{\vecc@w}{\vecc@hw}[#6][#7]\@@Arrow@rule{\dimexpr\wd0- #5 pt * #6 * \@font@scale * 2\relax}{#4 pt}{#6}#3{\vecc@w}{\vecc@hw}[#6][#7]$}}%
}}
\def\@putexsym#1#2{\@@putexsym#2{\csname exsym@\m@strip#1@sf\endcsname}{\csname exsym@\m@strip#1@s\endcsname}{#1}}
@@ -439,14 +545,15 @@
0 2 m 0 3 1 4 2 4 c 3 4 4 3 4 2 c 4 1 3 0 2 0 c 1 0 0 1 0 2 c S}{4}}
\def\iNint@kern@{\mkern-10mu\mathchoice{\mkern-5mu}{}{}{}}
-\def\iNint#1{\pdfmsym@repeated{\numexpr #1-1\relax}{\int\iNint@kern@}\int}
-\def\@oiNint#1{\putexsym{\iNint{#1}}\@BigLeftcirclecap\@BigRightcirclecap{2.5}{4}}
-\def\@biNint#1{\putexsym{\iNint{#1}}\@BigLeftsquarecap\@BigRightsquarecap{2.5}{4}}
+\def\@iNint#1{\pdfmsym@repeated{\numexpr #1-1\relax}{\int\iNint@kern@}\int}
+\def\@oiNint#1{\putexsym{\@iNint{#1}}\@BigLeftcirclecap\@BigRightcirclecap{2.5}{4}}
+\def\@biNint#1{\putexsym{\@iNint{#1}}\@BigLeftsquarecap\@BigRightsquarecap{2.5}{4}}
-\def\oiNint#1{\@skewedlim@op{\mathop{\@oiNint{#1}}}{-4}{6}{-10}{10}{-4}{6}\nolimits}
-\def\biNint#1{\@skewedlim@op{\mathop{\@biNint{#1}}}{-6}{6}{-10}{10}{-6}{6}\nolimits}
+\def\oiNint#1{\@skewedlim@op{\mathop{\@oiNint{#1}}}{-4}{6}{-20}{20}{-4}{6}\nolimits}
+\def\biNint#1{\@skewedlim@op{\mathop{\@biNint{#1}}}{-6}{6}{-20}{20}{-6}{6}\nolimits}
+\def\iNint#1{\@skewedlim@op{\mathop{\@iNint{#1}}}{0}{0}{-20}{20}{0}{13}\nolimits}
-\def\@@putsym#1#2#3{{\setbox0=\hbox{$#1#2$}\rlap{\hbox to \wd0{\hss$#1#3$\hss}}}}
+\def\@@putsym#1#2#3{{\setbox0=\hbox{$\m@th#1#2$}\rlap{\hbox to \wd0{\hss$\m@th#1#3$\hss}}}}
\def\@putsym#1#2{\@@putsym#1#2}
\def\putsym#1#2{\mathpalette\@putsym{{#1}{#2}}\mathopen{}#1}
@@ -519,6 +626,38 @@
-3 10 m -3 4.133975 l 0 5.866025 l 0 0 l -1.125 1.5 l 0 0 l 1.125 1.5 l S}
{4.2pt}{10.5pt}{.5pt}{.9pt}
%
+ \pdf@drawing@macro{(m<3y)}
+{.2 w 0 0 0 RG q 1 .75 0 rg 1 J 1 j 12.5 18 m 16 22 l 16.35 22.3 17 19
+ 17.5 13 c 7.5 18 m 4 22 l 3.65 22.3 3 19 2.5 13 c B Q q 1 .5 .5 rg 1 J 1 j
+ 12.2 16.7 m 15.7 20.7 l 16.05 21 16.7 17.7 17.2 11.7 c 7.8 16.7 m 4.3 20.7
+ l 3.95 21 3.3 17.7 2.8 11.7 c f Q q 19.0 10 m 19.0 14.97063 14.97063 19.0 10
+ 19.0 c 5.02937 19.0 1.0 14.97063 1.0 10 c 1.0 5.02937 5.02937 1.0 10 1.0 c 14.97063
+1.0 19.0 5.02937 19.0 10 c W n q 1 .75 0 rg 19.0 10 m 19.0 14.97063 14.97063
+19.0 10 19.0 c 5.02937 19.0 1.0 14.97063 1.0 10 c 1.0 5.02937 5.02937 1.0
+10 1.0 c 14.97063 1.0 19.0 5.02937 19.0 10 c f Q q 1 1 1 rg 7.75 12 m 7.75 12.82843
+6.9665 13.5 6 13.5 c 5.0335 13.5 4.25 12.82843 4.25 12 c 4.25 11.17157 5.0335
+10.5 6 10.5 c 6.9665 10.5 7.75 11.17157 7.75 12 c 15.75 12 m 15.75 12.82843
+14.9665 13.5 14 13.5 c 13.0335 13.5 12.25 12.82843 12.25 12 c 12.25 11.17157
+ 13.0335 10.5 14 10.5 c 14.9665 10.5 15.75 11.17157 15.75 12 c B Q q .3 .1 0 rg
+7.4 12 m 7.4 12.7732 6.7732 13.4 6 13.4 c 5.2268 13.4 4.6 12.7732 4.6 12 c 4.6
+11.2268 5.2268 10.6 6 10.6 c 6.7732 10.6 7.4 11.2268 7.4 12 c 15.4 12 m 15.4
+ 12.7732 14.7732 13.4 14 13.4 c 13.2268 13.4 12.6 12.7732 12.6 12 c 12.6 11.2268
+13.2268 10.6 14 10.6 c 14.7732 10.6 15.4 11.2268 15.4 12 c B Q q 0 0 0 rg 7.2
+12 m 7.2 12.66273 6.66273 13.2 6 13.2 c 5.33727 13.2 4.8 12.66273 4.8 12 c 4.8
+11.33727 5.33727 10.8 6 10.8 c 6.66273 10.8 7.2 11.33727 7.2 12 c 15.2 12 m
+15.2 12.66273 14.66273 13.2 14 13.2 c 13.33727 13.2 12.8 12.66273 12.8 12 c 12.8
+11.33727 13.33727 10.8 14 10.8 c 14.66273 10.8 15.2 11.33727 15.2 12 c f Q q
+ 1 1 1 rg 1 j 8 21 m 9.5 15 9.5 10 v 9.5 9 8 6.5 v 7 3.5 10 3.75 v 13
+3.5 12 6.5 v 10.5 9 10.5 10 v 10.5 15 12 21 v B Q q 0 0 0 rg 12.3 6.5 m 12.3
+ 7.32843 11.27026 8.0 10 8.0 c 8.72974 8.0 7.7 7.32843 7.7 6.5 c 7.7 5.67157 8.72974
+5.0 10 5.0 c 11.27026 5.0 12.3 5.67157 12.3 6.5 c B Q q 1 j 1 J 10 6.5 m
+ 10 4.5 l 9.5 4 9 4 8.3 4.2 c 10 4.5 m 10.5 4 11 4 11.7 4.2 c S Q 8.5 10 m
+ 8 7 l 11.5 10 m 12 7 l S Q 19.0 10 m 19.0 14.97063 14.97063 19.0 10 19.0 c
+ 5.02937 19.0 1.0 14.97063 1.0 10 c 1.0 5.02937 5.02937 1.0 10 1.0 c 14.97063 1.0
+19.0 5.02937 19.0 10 c S q 1 1 1 rg 1 j 1 J 7 1.5 m 8 0 10 -2 v 11 0 13 1.5
+v 11.5 1.2 10.5 1.2 10 1.2 c 7 1.5 m 8.5 1.2 9.5 1.2 10 1.2 c B* Q}
+ {20pt}{22.4pt}{2.30pt}{0pt}
+%
\pdf@drawing@math@macro{@ndivs}
{0.4 w 1 j
0 3 m 5 7 l s
@@ -591,7 +730,7 @@
}
\def\@wide@operator#1#2#3#4{%
- \@slice{$\displaystyle#2$}{#1}{#3}{#4}%
+ \@slice{$\m@th\displaystyle#2$}{#1}{#3}{#4}%
\expandafter\def\csname #1\endcsname{%
\mathop{\copy\csname #1@L\endcsname \xleaders\copy\csname #1@C\endcsname\hfill \copy\csname #1@R\endcsname}\limits%
}%