diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/old-arrows/tex |
Initial commit
Diffstat (limited to 'fonts/old-arrows/tex')
-rw-r--r-- | fonts/old-arrows/tex/old-arrows.sty | 495 |
1 files changed, 495 insertions, 0 deletions
diff --git a/fonts/old-arrows/tex/old-arrows.sty b/fonts/old-arrows/tex/old-arrows.sty new file mode 100644 index 0000000000..3fe09c5a6c --- /dev/null +++ b/fonts/old-arrows/tex/old-arrows.sty @@ -0,0 +1,495 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% old-arrows.sty. Version: 2.0 - January 5, 2017. +% Author: Riccardo DOSSENA <riccardo.dossena@gmail.com> +% +% This package provides cm old-style arrows with smaller arrowheads, +% associated with ordinary LaTeX commands. It can be used in a document +% that contains other amssymb arrow characters, like \twoheadrightarrow, +% which also have small arrowheads. The options `new' and `old' allow the +% user to use the usual new-style cm arrows together with the old-style +% ones. The option `new' allows you to maintain the old-style by default +% and get the old-style by putting \var before every command; conversely, +% the option `old' allows you to maintain the new-style by default and get +% the old-style by putting \var before every command. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Copyright 2015-2017 R. Dossena +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is R. Dossena. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{old-arrows}[2017/01/05 v2.0 Old Arrows] + +\newif\ifoldarrows@default +\newif\ifoldarrows@new +\newif\ifoldarrows@old + +\def\oldarrows@opterr{% + \PackageError{old-arrows}{`new' and `old' options are incompatible}{% + I'm sorry, you cannot use the `new' and `old' options simultaneously! % + Ciao ;) \MessageBreak}% +}% + +\DeclareOption{default}{\oldarrows@defaulttrue} +\DeclareOption{new}{% + \ifoldarrows@old\oldarrows@opterr\fi + \oldarrows@newtrue} +\DeclareOption{old}{% + \ifoldarrows@new\oldarrows@opterr\fi + \oldarrows@defaultfalse\oldarrows@oldtrue} + +\ExecuteOptions{default} + +\ProcessOptions\relax + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% default option +% + +\ifoldarrows@default + +\@ifpackageloaded{lmodern}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <-5.5> oasy5 <5.5-6.5> oasy6 + <6.5-7.5> oasy7 <7.5-8.5> oasy8 + <8.5-9.5> oasy9 <9.5-> oasy10 + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <-6> oabsy5 + <6-8> oabsy7 + <8-> oabsy10 + }{} +\relax}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <5><6><7><8><9><10>gen*oasy% + <10.95><12><14.4><17.28><20.74><24.88>oasy10% + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <5><6><7><8><9>gen*oabsy% + <10><10.95><12><14.4><17.28><20.74><24.88>oabsy10% + }{} +\relax} + +\DeclareSymbolFont{oasy}{OMS}{oasy}{m}{n} + +\SetSymbolFont{oasy}{normal}{OMS}{oasy}{m}{n} +\SetSymbolFont{oasy}{bold}{OMS}{oasy}{b}{n} + +\DeclareMathSymbol{\leftarrow} {\mathrel}{oasy}{"20} + \let\gets=\leftarrow +\DeclareMathSymbol{\rightarrow} {\mathrel}{oasy}{"21} + \let\to=\rightarrow +\DeclareMathSymbol{\leftrightarrow} {\mathrel}{oasy}{"24} +\DeclareMathSymbol{\nearrow} {\mathrel}{oasy}{"25} +\DeclareMathSymbol{\searrow} {\mathrel}{oasy}{"26} +\DeclareMathSymbol{\nwarrow} {\mathrel}{oasy}{"2D} +\DeclareMathSymbol{\swarrow} {\mathrel}{oasy}{"2E} +\DeclareMathSymbol{\mapstochar} {\mathrel}{oasy}{"37} + \def\mapsto{\mapstochar\rightarrow} + +\DeclareMathDelimiter{\uparrow} {\mathrel}{oasy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\downarrow} {\mathrel}{oasy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\updownarrow} {\mathrel}{oasy}{"6C}{largesymbols}{"3F} + +%definitions of \meno, \joinrelaz and \relbarra +\DeclareMathSymbol{\meno} {\mathbin}{oasy}{"00} +\DeclareRobustCommand + \joinrelaz{\mathrel{\mkern-3mu}} +\DeclareRobustCommand + \relbarra{\mathrel{\smash\meno}} % \smash, because - + % has the same height as + + +\DeclareRobustCommand\longrightarrow + {\relbarra\joinrelaz\rightarrow} +\DeclareRobustCommand\longleftarrow + {\leftarrow\joinrelaz\relbarra} + +\def\rightarrowfill{$\m@th\smash\meno\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\mathord\rightarrow$} +\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\smash\meno$} + +%amsmath redefinitions, if loaded +\@ifpackageloaded{amsmath}{% +\ams@def\relbarra{\mathrel{\mathpalette\mathsm@sh\meno}} +\def\leftarrowfill@{\arrowfill@\leftarrow\relbarra\relbarra} +\def\rightarrowfill@{\arrowfill@\relbarra\relbarra\rightarrow} +\def\leftrightarrowfill@{\arrowfill@\leftarrow\relbarra\rightarrow} +\relax}{} + +%mathtools redefinitions, if loaded +\@ifpackageloaded{mathtools}{% +\renewcommand{\xleftrightarrow}[2][]{% + \ext@arrow 3095\MTleftrightarrowfill@{#1}{#2}} +\def\MTleftrightarrowfill@{% + \arrowfill@\leftarrow\relbarra\rightarrow} +\renewcommand{\xhookleftarrow}[2][]{% + \ext@arrow 3095\MThookleftfill@{#1}{#2}} +\def\MThookleftfill@{% + \arrowfill@\leftarrow\relbarra{\relbarra\joinrelaz\rhook}} +\renewcommand{\xhookrightarrow}[2][]{% + \ext@arrow 3095\MThookrightfill@{#1}{#2}} +\def\MThookrightfill@{% + \arrowfill@{\lhook\joinrelaz\relbarra}\relbarra\rightarrow} +\renewcommand{\xmapsto}[2][]{% + \ext@arrow 0395\MTmapstofill@{#1}{#2}} +\def\MTmapstofill@{% + \arrowfill@{\mapstochar\relbarra}\relbarra\rightarrow} +\relax}{} + +%stmaryrd xmapsfrom (mathtools or amsmath needed) +\@ifpackageloaded{stmaryrd}{% +\newcommand{\xmapsfrom}[2][]{% + \ext@arrow 3095\SMRmapsfromfill@{#1}{#2}} +\def\SMRmapsfromfill@{% + \arrowfill@\leftarrow\relbarra{\relbarra\mapsfromchar}} +\relax}{} + + +%arrow commands provided by old-arrows +\DeclareRobustCommand\longhookrightarrow + {\lhook\joinrelaz\longrightarrow} +\DeclareRobustCommand\longhookleftarrow + {\longleftarrow\joinrelaz\rhook} +\DeclareRobustCommand\longrightharpoonup + {\relbar\joinrel\rightharpoonup} +\DeclareRobustCommand\longrightharpoondown + {\relbar\joinrel\rightharpoondown} +\DeclareRobustCommand\longleftharpoonup + {\leftharpoonup\joinrel\relbar} +\DeclareRobustCommand\longleftharpoondown + {\leftharpoondown\joinrel\relbar} + +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% `new' option +% + +\ifoldarrows@new + +\@ifpackageloaded{lmodern}{% +\DeclareSymbolFont{lmsy}{OMS}{lmsy}{m}{n} + +\SetSymbolFont{lmsy}{normal}{OMS}{lmsy}{m}{n} +\SetSymbolFont{lmsy}{bold}{OMS}{lmsy}{b}{n} + +\DeclareMathSymbol{\varleftarrow}{\mathrel}{lmsy}{"20} + \let\vargets=\varleftarrow +\DeclareMathSymbol{\varrightarrow}{\mathrel}{lmsy}{"21} + \let\varto=\varrightarrow +\DeclareMathSymbol{\varleftrightarrow} {\mathrel}{lmsy}{"24} +\DeclareMathSymbol{\varnearrow} {\mathrel}{lmsy}{"25} +\DeclareMathSymbol{\varsearrow} {\mathrel}{lmsy}{"26} +\DeclareMathSymbol{\varnwarrow} {\mathrel}{lmsy}{"2D} +\DeclareMathSymbol{\varswarrow} {\mathrel}{lmsy}{"2E} +\DeclareMathSymbol{\varmapstochar} {\mathrel}{lmsy}{"37} + \def\varmapsto{\varmapstochar\varrightarrow} + \def\varhookrightarrow{\lhook\joinrel\varrightarrow} + \def\varhookleftarrow{\varleftarrow\joinrel\rhook} + +\DeclareMathDelimiter{\varuparrow} {\mathrel}{lmsy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\vardownarrow} {\mathrel}{lmsy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\varupdownarrow} {\mathrel}{lmsy}{"6C}{largesymbols}{"3F} +\relax}{% +\DeclareSymbolFont{cmsy}{OMS}{cmsy}{m}{n} + +\SetSymbolFont{cmsy}{normal}{OMS}{cmsy}{m}{n} +\SetSymbolFont{cmsy}{bold}{OMS}{cmsy}{b}{n} + +\DeclareMathSymbol{\varleftarrow}{\mathrel}{cmsy}{"20} + \let\vargets=\varleftarrow +\DeclareMathSymbol{\varrightarrow}{\mathrel}{cmsy}{"21} + \let\varto=\varrightarrow +\DeclareMathSymbol{\varleftrightarrow} {\mathrel}{cmsy}{"24} +\DeclareMathSymbol{\varnearrow} {\mathrel}{cmsy}{"25} +\DeclareMathSymbol{\varsearrow} {\mathrel}{cmsy}{"26} +\DeclareMathSymbol{\varnwarrow} {\mathrel}{cmsy}{"2D} +\DeclareMathSymbol{\varswarrow} {\mathrel}{cmsy}{"2E} +\DeclareMathSymbol{\varmapstochar} {\mathrel}{cmsy}{"37} + \def\varmapsto{\varmapstochar\varrightarrow} + \def\varhookrightarrow{\lhook\joinrel\varrightarrow} + \def\varhookleftarrow{\varleftarrow\joinrel\rhook} + +\DeclareMathDelimiter{\varuparrow} {\mathrel}{cmsy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\vardownarrow} {\mathrel}{cmsy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\varupdownarrow} {\mathrel}{cmsy}{"6C}{largesymbols}{"3F} +\relax} + +\def\varoverrightarrow#1{\vbox{\m@th\ialign{##\crcr + \varrightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverleftarrow#1{\vbox{\m@th\ialign{##\crcr + \varleftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varrightarrowfill{$\m@th\smash-\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\mathord\varrightarrow$} +\def\varleftarrowfill{$\m@th\mathord\varleftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\smash-$} + +\DeclareRobustCommand\varlongrightarrow + {\relbar\joinrel\varrightarrow} +\DeclareRobustCommand\varlongleftarrow + {\varleftarrow\joinrel\relbar} +\DeclareRobustCommand + \varlongmapsto{\varmapstochar\varlongrightarrow} +\DeclareRobustCommand + \varlongleftrightarrow{\varleftarrow\joinrel\varrightarrow} + +%new commands provided by old-arrows with option new +\DeclareRobustCommand\varlonghookrightarrow + {\lhook\joinrel\varlongrightarrow} +\DeclareRobustCommand\varlonghookleftarrow + {\varlongleftarrow\joinrel\rhook} + + +%new-style arrows provided by amsmath, if loaded +\@ifpackageloaded{amsmath}{% +\def\varleftarrowfill@{\arrowfill@\varleftarrow\relbar\relbar} +\def\varrightarrowfill@{\arrowfill@\relbar\relbar\varrightarrow} +\def\varleftrightarrowfill@{\arrowfill@\varleftarrow\relbar\varrightarrow} +\ams@renewcommand{\varoverrightarrow}{% + \mathpalette{\overarrow@\varrightarrowfill@}} +\ams@renewcommand{\varoverleftarrow}{% + \mathpalette{\overarrow@\varleftarrowfill@}} +\ams@newcommand{\varoverleftrightarrow}{% + \mathpalette{\overarrow@\varleftrightarrowfill@}} +\ams@newcommand{\varunderrightarrow}{% + \mathpalette{\underarrow@\varrightarrowfill@}} +\ams@newcommand{\varunderleftarrow}{% + \mathpalette{\underarrow@\varleftarrowfill@}} +\ams@newcommand{\varunderleftrightarrow}{% + \mathpalette{\underarrow@\varleftrightarrowfill@}} +\newcommand{\varxrightarrow}[2][]{\ext@arrow 0359\varrightarrowfill@{#1}{#2}} +\newcommand{\varxleftarrow}[2][]{\ext@arrow 3095\varleftarrowfill@{#1}{#2}} +\def\varvarinjlim{% + \mathop{\mathpalette\varlim@{\varrightarrowfill@\textstyle}}\nmlimits@ +} +\def\varvarprojlim{% + \mathop{\mathpalette\varlim@{\varleftarrowfill@\textstyle}}\nmlimits@ +} +\relax}{} + +%new-style support for mathtools +\@ifpackageloaded{mathtools}{% +\newcommand{\varxleftrightarrow}[2][]{% + \ext@arrow 3095\varMTleftrightarrowfill@{#1}{#2}} +\def\varMTleftrightarrowfill@{% + \arrowfill@\varleftarrow\relbar\varrightarrow} +\newcommand{\varxhookleftarrow}[2][]{% + \ext@arrow 3095\varMThookleftfill@{#1}{#2}} +\def\varMThookleftfill@{% + \arrowfill@\varleftarrow\relbar{\relbar\joinrel\rhook}} +\newcommand{\varxhookrightarrow}[2][]{% + \ext@arrow 3095\varMThookrightfill@{#1}{#2}} +\def\varMThookrightfill@{% + \arrowfill@{\lhook\joinrel\relbar}\relbar\varrightarrow} +\newcommand{\varxmapsto}[2][]{% + \ext@arrow 0395\varMTmapstofill@{#1}{#2}} +\def\varMTmapstofill@{% + \arrowfill@{\mapstochar\relbar}\relbar\varrightarrow} +\relax}{} + +%%stmaryrd new-style xmapsfrom (mathtools or amsmath needed) +\@ifpackageloaded{stmaryrd}{% +\newcommand{\varxmapsfrom}[2][]{% + \ext@arrow 3095\varSMRmapsfromfill@{#1}{#2}} +\def\varSMRmapsfromfill@{% + \arrowfill@\varleftarrow\relbar{\relbar\mapsfromchar}} +\relax}{} + +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% `old' option +% + +\ifoldarrows@old + +\@ifpackageloaded{lmodern}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <-5.5> oasy5 <5.5-6.5> oasy6 + <6.5-7.5> oasy7 <7.5-8.5> oasy8 + <8.5-9.5> oasy9 <9.5-> oasy10 + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <-6> oabsy5 + <6-8> oabsy7 + <8-> oabsy10 + }{} +\relax}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <5><6><7><8><9><10>gen*oasy% + <10.95><12><14.4><17.28><20.74><24.88>oasy10% + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <5><6><7><8><9>gen*oabsy% + <10><10.95><12><14.4><17.28><20.74><24.88>oabsy10% + }{} +\relax} + +\DeclareSymbolFont{oasy}{OMS}{oasy}{m}{n} + +\SetSymbolFont{oasy}{normal}{OMS}{oasy}{m}{n} +\SetSymbolFont{oasy}{bold}{OMS}{oasy}{b}{n} + +\DeclareMathSymbol{\varleftarrow} {\mathrel}{oasy}{"20} + \let\vargets=\varleftarrow +\DeclareMathSymbol{\varrightarrow} {\mathrel}{oasy}{"21} + \let\varto=\varrightarrow +\DeclareMathSymbol{\varleftrightarrow} {\mathrel}{oasy}{"24} +\DeclareMathSymbol{\varnearrow} {\mathrel}{oasy}{"25} +\DeclareMathSymbol{\varsearrow} {\mathrel}{oasy}{"26} +\DeclareMathSymbol{\varnwarrow} {\mathrel}{oasy}{"2D} +\DeclareMathSymbol{\varswarrow} {\mathrel}{oasy}{"2E} +\DeclareMathSymbol{\varmapstochar} {\mathrel}{oasy}{"37} + \def\varmapsto{\varmapstochar\varrightarrow} + \def\varhookrightarrow{\lhook\joinrel\varrightarrow} + \def\varhookleftarrow{\varleftarrow\joinrel\rhook} + +\DeclareMathDelimiter{\varuparrow} {\mathrel}{oasy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\vardownarrow} {\mathrel}{oasy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\varupdownarrow} {\mathrel}{oasy}{"6C}{largesymbols}{"3F} + +%definitions of \meno, \joinrelaz and \relbarra +\DeclareMathSymbol{\meno} {\mathbin}{oasy}{"00} +\DeclareRobustCommand + \joinrelaz{\mathrel{\mkern-3mu}} +\DeclareRobustCommand + \relbarra{\mathrel{\smash\meno}} % \smash, because - + % has the same height as + + +\DeclareRobustCommand\varlongrightarrow + {\relbarra\joinrelaz\varrightarrow} +\DeclareRobustCommand\varlongleftarrow + {\varleftarrow\joinrelaz\relbarra} +\DeclareRobustCommand + \varlongmapsto{\varmapstochar\varlongrightarrow} +\DeclareRobustCommand + \varlongleftrightarrow{\varleftarrow\joinrelaz\varrightarrow} + +\def\varoverrightarrow#1{\vbox{\m@th\ialign{##\crcr + \varrightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverleftarrow#1{\vbox{\m@th\ialign{##\crcr + \varleftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varrightarrowfill{$\m@th\smash\meno\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\mathord\varrightarrow$} +\def\varleftarrowfill{$\m@th\mathord\varleftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\smash\meno$} + +%amsmath redefinitions, if loaded +\@ifpackageloaded{amsmath}{% +\ams@def\relbarra{\mathrel{\mathpalette\mathsm@sh\meno}} +\def\varleftarrowfill@{\arrowfill@\varleftarrow\relbarra\relbarra} +\def\varrightarrowfill@{\arrowfill@\relbarra\relbarra\varrightarrow} +\def\varleftrightarrowfill@{\arrowfill@\varleftarrow\relbarra\varrightarrow} +\ams@renewcommand{\varoverrightarrow}{% + \mathpalette{\overarrow@\varrightarrowfill@}} +\ams@renewcommand{\varoverleftarrow}{% + \mathpalette{\overarrow@\varleftarrowfill@}} +\ams@newcommand{\varoverleftrightarrow}{% + \mathpalette{\overarrow@\varleftrightarrowfill@}} +\ams@newcommand{\varunderrightarrow}{% + \mathpalette{\underarrow@\varrightarrowfill@}} +\ams@newcommand{\varunderleftarrow}{% + \mathpalette{\underarrow@\varleftarrowfill@}} +\ams@newcommand{\varunderleftrightarrow}{% + \mathpalette{\underarrow@\varleftrightarrowfill@}} +\newcommand{\varxrightarrow}[2][]{\ext@arrow 0359\varrightarrowfill@{#1}{#2}} +\newcommand{\varxleftarrow}[2][]{\ext@arrow 3095\varleftarrowfill@{#1}{#2}} +\def\varvarinjlim{% + \mathop{\mathpalette\varlim@{\varrightarrowfill@\textstyle}}\nmlimits@ +} +\def\varvarprojlim{% + \mathop{\mathpalette\varlim@{\varleftarrowfill@\textstyle}}\nmlimits@ +} +\relax}{} + +%mathtools redefinitions, if loaded +\@ifpackageloaded{mathtools}{% +\newcommand{\varxleftrightarrow}[2][]{% + \ext@arrow 3095\varMTleftrightarrowfill@{#1}{#2}} +\def\varMTleftrightarrowfill@{% + \arrowfill@\varleftarrow\relbarra\varrightarrow} +\newcommand{\varxhookleftarrow}[2][]{% + \ext@arrow 3095\varMThookleftfill@{#1}{#2}} +\def\varMThookleftfill@{% + \arrowfill@\varleftarrow\relbarra{\relbarra\joinrelaz\rhook}} +\newcommand{\varxhookrightarrow}[2][]{% + \ext@arrow 3095\varMThookrightfill@{#1}{#2}} +\def\varMThookrightfill@{% + \arrowfill@{\lhook\joinrelaz\relbarra}\relbarra\varrightarrow} +\newcommand{\varxmapsto}[2][]{% + \ext@arrow 0395\varMTmapstofill@{#1}{#2}} +\def\varMTmapstofill@{% + \arrowfill@{\mapstochar\relbarra}\relbarra\varrightarrow} +\relax}{} + +%%stmaryrd old-style xmapsfrom (mathtools or amsmath needed) +\@ifpackageloaded{stmaryrd}{% +\newcommand{\varxmapsfrom}[2][]{% + \ext@arrow 3095\varSMRmapsfromfill@{#1}{#2}} +\def\varSMRmapsfromfill@{% + \arrowfill@\varleftarrow\relbarra{\relbarra\mapsfromchar}} +\newcommand{\xmapsfrom}[2][]{% + \ext@arrow 3095\SMRmapsfromfill@{#1}{#2}} +\def\SMRmapsfromfill@{% + \arrowfill@\leftarrow\relbar{\relbar\mapsfromchar}} +\relax}{} + +%arrow commands provided by old-arrows with option old +\DeclareRobustCommand\varlonghookrightarrow + {\lhook\joinrelaz\varlongrightarrow} +\DeclareRobustCommand\varlonghookleftarrow + {\varlongleftarrow\joinrelaz\rhook} + +%arrow commands provided by old-arrows (default) +\DeclareRobustCommand\longhookrightarrow + {\lhook\joinrel\longrightarrow} +\DeclareRobustCommand\longhookleftarrow + {\longleftarrow\joinrel\rhook} +\DeclareRobustCommand\longrightharpoonup + {\relbar\joinrel\rightharpoonup} +\DeclareRobustCommand\longrightharpoondown + {\relbar\joinrel\rightharpoondown} +\DeclareRobustCommand\longleftharpoonup + {\leftharpoonup\joinrel\relbar} +\DeclareRobustCommand\longleftharpoondown + {\leftharpoondown\joinrel\relbar} + +\fi + +%stmaryrd support for `new' and `old' +\@ifpackageloaded{stmaryrd}{% + \stmry@if\def\varmapsfrom{\varleftarrow\mapsfromchar}\fi + \stmry@if\def\varlongmapsfrom{\varlongleftarrow\mapsfromchar}\fi +}{} + +\endinput |