diff options
author | Karl Berry <karl@freefriends.org> | 2017-01-06 22:29:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-01-06 22:29:25 +0000 |
commit | 665ec9eb9d87958da1695fe8ddb2b0c41b4f1903 (patch) | |
tree | 1aad5bf5a4ab276f18127b59ee0186ad6f54f39e /Master/texmf-dist/tex | |
parent | fe2fda0f24dd3e0225ebda67b04463f79f6f09bb (diff) |
halloweenmath (6jan17)
git-svn-id: svn://tug.org/texlive/trunk@42887 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/halloweenmath/halloweenmath.sty | 755 |
1 files changed, 755 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/halloweenmath/halloweenmath.sty b/Master/texmf-dist/tex/latex/halloweenmath/halloweenmath.sty new file mode 100644 index 00000000000..b54bf49c475 --- /dev/null +++ b/Master/texmf-dist/tex/latex/halloweenmath/halloweenmath.sty @@ -0,0 +1,755 @@ +%% +%% This is file `halloweenmath.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% halloweenmath.dtx (with options: `halloweenmath') +%% +%% This is a generated file. +%% It is part of a work named "halloweenmath package". +%% +%% Copyright (C) 2017 by Gustavo MEZZETTI. +%% +%% The halloweenmath package 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. +%% +%% The halloweenmath package has the LPPL maintenance status +%% "author-maintained". +%% +%% The file `manifest.txt' that comes along with this file specifies +%% what the halloweenmath package consists of; more precisely, it explains +%% how the locutions "Work" and "Compiled Work", used in the LaTeX Project +%% Public License, are to be interpreted in the case of this work. +%% +%% Note that the distribution of this file alone is "distribution of +%% only part of the Work" in the sense of the LaTeX Project Public +%% License, and should be avoided. +%% +%% January 6, 2017 (vers. 0.01) +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[2004/06/01] % LaTeX2e is required! +\ProvidesPackage{halloweenmath} + [2017/01/06 v0.01 (development)] +\RequirePackage{amsmath,pict2e} +\@ifdefinable\@HwM@tempa{} +\newcommand*\@HwM@thickness@units@for[1]{\fontdimen 8 #1\thr@@} +\@ifdefinable\@HwM@right@or@left{} +\newcommand*\@HwM@set@right@dir{% + \let \@HwM@right@or@left \@firstoftwo +} +\newcommand*\@HwM@set@left@dir{% + \let \@HwM@right@or@left \@secondoftwo +} +\newenvironment*{@HwM@math@picture}[6]{% + \setlength\unitlength{\fontdimen 22 #4\tw@}% + #3% + \@HwM@right@or@left{% + \def\+{+}% + \def\-{-}% + }{% + \def\+{-}% + \def\-{+}% + }% + \picture(#5,#1)(#6,#2)% +}{\endpicture} +\newcommand*\@HwM@short@circuited@vphant{\v@true\h@false\mathph@nt} +\newcommand*\@HwM@oplus@strut[1]{% + \@HwM@short@circuited@vphant #1\bigoplus@ +} +\newcommand*\@HwM@d@pict@strut[1]{% + \vrule \@width\z@ \@height\z@ \@depth #1\unitlength +} +\newcommand*\@HwM@large@picture{% + \@HwM@math@picture{5}{-1}{\@HwM@d@pict@strut\thr@@}\textfont +} +\let\end@HwM@large@picture = \end@HwM@math@picture +\newcommand*\@HwM@small@picture{% + \@HwM@math@picture{3}{-1}{\@HwM@d@pict@strut\@ne}% +} +\let\end@HwM@small@picture = \end@HwM@math@picture +\newcommand*\@HwM@oplus@picture[1]{% + \@HwM@math@picture{0}{-1}{\@HwM@oplus@strut #1}% +} +\let\end@HwM@oplus@picture = \end@HwM@math@picture +\@ifdefinable\if@HwM@cat@{\newif\if@HwM@cat@} +\newcommand*\@HwM@if@bold@math{% + \def\@tempa{bold}% + \ifx\math@version\@tempa + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newcommand*\@HwM@choose@thicknesses[3]{% + \@HwM@if@bold@math{#1#3}{#1#2} +} +\newcommand*{\@HwM@magic@star}[1]{% + \begingroup + \setlength\unitlength{#1\unitlength}% + \picture(0,0)% + \polygon*(0,1)(-.225,.309)(-.951,.309)(-.363,-.118)(-.588,-.809)% + (0,-.382)(.588,-.809)(.363,-.118)(.951,.309)(.225,.309)% + \endpicture + \endgroup +} +\newcommand*\@HwM@large@witch[5]{% + \begin{@HwM@large@picture}{12}{-6}% + \roundcap + \linethickness{#4\@HwM@thickness@units@for \textfont}% + \Line(\-2,-2)(\+6,2)% + \linethickness{#3\@HwM@thickness@units@for \textfont}% + \Line(\-2,-2)(\-5,-2.5)% + \Line(\-2,-2)(\-4.85,-2.95)% + \Line(\-2,-2)(\-4.6,-3.3)% + \Line(\-2,-2)(\-4.35,-3.65)% + \Line(\-2,-2)(\-4,-4)% + \put(\-3,-1.2){\@HwM@magic@star{.4}}% + \put(\-4.1,-.8){\@HwM@magic@star{.8}}% + \put(\-5.4,-1.8){\@HwM@magic@star{.6}}% + \Line(0,1.8)(\-.2,1.4)% + \polyline(\+.6,3.2)(\+.8,3)(\+1.5,3)% + \put(\+1.6,3){\oval(.2,.2)[t#1]}% + \put(\+1.6,3){\oval(.2,.2)[#2]}% + \polyline(\+1.6,2.9)(\+1.8,2.4)(\+1.2,2.4)(\+1,2.5)(\+1,2.3)% + (\+1.2,2)(\+1.6,1.8)(\+1.7,1.8)(\+1.7,1.6)(\+1.4,1.5)% + (0,1.8)(\-.2,2)% + \polygon*(\-1,2)(\-2,0)(\-2,-1)(\-1.5,-2)(\+1,-2)% + (0,-3.6)(\+.4,-3.8)(\+.6,-3.4)(\+.8,-4)(\+2,-4)% + (\+1,-3.6)(\+1,-3)(\+1.6,-3.2)(\+2,-1.5)(0,-1)% + (0,-.6)(\+1.4,-.6)(\+1.8,-.4)(\+2,0)(0,0)% + (0,1.4)% + \polygon*(\-3,2)(\-2.8,3)(\-2,4)(\-1.5,4.1)(\-1,4)(0,3.5)% + (\+1,3.8)(\+2.5,3.5)(\+3,3.3)(\+2,3.4)(0,3)(\-1,2)(\-2,1.6)% + (\-2.7,2)(\-2,2)(\-1,3)(\-2,3.5)(\-2.6,3)% + \buttcap + \Line(\+.2,2.8)(\+.6,3)% + \linethickness{#5\p@}% + \Line(\+1.7,1.6)(\+2,1.6)% + \Line(\+1.7,1.6)(\+1.9,1.4)% + \Line(\+1.7,1.6)(\+1.7,1.3)% + \if@HwM@cat@ + \Line(\+3.8,2.1)(\+5.2,1.9)% + \Line(\+3.8,2)(\+5.2,2)% + \Line(\+3.8,1.9)(\+5.2,2.1)% + \roundcap + \linethickness{#4\@HwM@thickness@units@for \textfont}% + \put(\+3.6,1){\circle*{1.2}}% + \put(\+4.2,1.4){\circle*{1}}% + \put(\+4.5,2){\circle*{.8}}% + \polygon*(\+4.1,2)(\+4.1,2.5)(\+4.5,2.2)(\+4.9,2.5)(\+4.9,2)% + \cbezier(\+3.2,.6)(\+2,0)(\+4.2,-.4)(\+3,-1)% + \fi + \end{@HwM@large@picture}% +} +\newcommand*\@HwM@Large@Witch[2]{% + \@HwM@choose@thicknesses{\@HwM@large@witch #1#2}% + {{.4}{1.8}{.1}}% + {{.8}{2.7}{.15}}% +} +\newcommand*\@HwM@common@small@body[2]{% + \linethickness{#2\@HwM@thickness@units@for #1}% + \buttcap + \Line(\+.1,1.4)(\+.3,1.5)% + \roundcap + \Line(0,.9)(\-.1,.7)% + \polyline(\+.3,1.6)(\+.4,1.5)(\+.75,1.5)(\+.9,1.2)(\+.5,1.2)% + (\+.6,1)(\+.8,.9)(\+.7,.75)(0,.9)(\-.1,1)% + \polygon*(\-.5,1)(\-1,0)(\-1,-.5)(\-.75,-1)(\+.5,-1)% + (0,-1.8)(\+.2,-1.9)(\+.3,-1.7)(\+.4,-2)(\+1,-2)% + (\+.5,-1.8)(\+.5,-1.5)(\+.8,-1.6)(\+1,-.75)(0,-.5)% + (0,.7)% + \polygon*(\-1.5,1)(\-1.4,1.5)(\-1,2)(\-.5,2)(0,1.75)% + (\+.5,1.9)(\+1.25,1.75)(0,1.5)(\-.5,1)(\-1,.8)% + (\-1.2,1)(\-1,1)(\-.5,1.5)(\-1,1.75)(\-1.3,1.5)% +} +\newcommand*\@HwM@Common@Small@Body[1]{% + \@HwM@choose@thicknesses {\@HwM@common@small@body #1}{{.35}}{{.7}}% +} +\newcommand*\@HwM@common@small@cat[2]{% + \roundcap + \linethickness{#2\@HwM@thickness@units@for #1}% + \if@HwM@cat@ + \put(\+1.8,.5){\circle*{.6}}% + \put(\+2.1,.7){\circle*{.5}}% + \put(\+2.25,1){\circle*{.4}}% + \polygon*(\+2.05,1)(\+2.05,1.25)(\+2.25,1.1)(\+2.45,1.25)(\+2.45,1)% + \cbezier(\+1.8,.4)(\+1.2,.1)(\+2,-.1)(\+1.4,-.4)% + \fi +} +\newcommand*\@HwM@Common@Small@Cat[1]{% + \@HwM@choose@thicknesses {\@HwM@common@small@cat #1}{{}}{{2}}% +} +\newcommand*\@HwM@Small@Witch[2]{% + \begin{@HwM@small@picture}#2{6}{-3}% + \@HwM@Common@Small@Cat #2% + \Line(\-1,-1)(\+3,1)% + \@HwM@Common@Small@Body #2% + \Line(\-1,-1)(\-2.5,-1.25)% + \Line(\-1,-1)(\-2.4,-1.5)% + \Line(\-1,-1)(\-2.25,-1.75)% + \Line(\-1,-1)(\-2,-2)% + \put(\-1.7,-.4){\@HwM@magic@star{.4}}% + \put(\-2.7,-.8){\@HwM@magic@star{.25}}% + \polygon*(0,-.3)(\+.7,-.3)(\+.9,-.2)(\+1,0)(0,0)% + \end{@HwM@small@picture}% +} +\newcommand*\@HwM@Small@Witch@Wo@Broom[1]{% + \begin{@HwM@math@picture}{4}{-2}{}#1{0}{\+1}% + \@HwM@Common@Small@Body #1% + \polygon*(\-.1,.4)(\+1,-.9)(\+1,-1.2)(\+.8,-1.2)(\-.1,0)% + \end{@HwM@math@picture}% +} +\newcommand*\@HwM@Small@Cat@On@Hori@Broom[1]{% + \begin{@HwM@math@picture}{0}{-.6}{}#1{0}{\+2.5}% + \@HwM@Common@Small@Cat #1% + \Line(\+2.2,.8)(\+2.4,.4)% + \end{@HwM@math@picture}% +} +\newcommand*\@HwM@large@pumpkin@profile[1]{% + \cbezier(#1.15,2.25)(#12.63,3.75)(#13.38,1.5)(#13.38,0)% + \cbezier(#1.15,-2.7)(#12.4,-3.6)(#13.38,-1.5)(#13.38,0)% + \put(#11.13,1.13){\circle*{.8}}% +} +\newcommand*\@HwM@large@pumpkin@mouth[9]{% + \polygon*% + % lower lip: + (-#1)(-#2)(-#3)(-#4)(0,#5)(#4)(#3)(#2)(#1)% + % upper lip: + (#6)(#7)(#8)(0,#9)(-#8)(-#7)(-#6)% +} +\newcommand*\@HwM@large@pumpkin[1]{% + \begin{@HwM@oplus@picture}\displaystyle \textfont {7.5}{-3.75}% + \roundcap + \linethickness{#1\@HwM@thickness@units@for \textfont}% + \Line(-.15,2.25)(-.3,3)(.3,3)(.15,2.25)% + \Line(-.15,-2.7)(.15,-2.7)% + \@HwM@large@pumpkin@profile-% + \@HwM@large@pumpkin@profile+% + \polygon*(0,.35)(-.35,-.35)(.35,-.35)% + \@HwM@large@pumpkin@mouth{2,-.5}{1.3,-1.4}{.8,-1.3}{.5,-1.6}% + {-1.5}% + {1.2,-1.1}{.7,-1}{.45,-1.1}% + {-1}% + \end{@HwM@oplus@picture}% +} +\newcommand*\@HwM@Large@Pumpkin{% + \@HwM@choose@thicknesses \@HwM@large@pumpkin + {{1.8}}% + {{2.2}}% +} +\newcommand*\@HwM@small@pumpkin@profile[1]{% + \cbezier(#1.1,1.5)(#11.75,2.5)(#12.25,1)(#12.25,0)% + \cbezier(#1.1,-1.8)(#11.6,-2.4)(#12.25,-1)(#12.25,0)% + \put(#1.75,.75){\circle*{.5}}% +} +\newcommand*\@HwM@small@pumpkin@mouth[7]{% + \polygon*% + % lower lip: + (-#1)(-#2)(-#3)(0,#4)(#3)(#2)(#1)% + % upper lip: + (#5)(#6)(0,#7)(-#6)(-#5)% +} +\newcommand*\@HwM@small@pumpkin[3]{% + \begin{@HwM@oplus@picture}#1#2{5}{-2.5}% + \roundcap + \linethickness{#3\@HwM@thickness@units@for #2}% + \Line(-.1,1.5)(-.15,2)(.15,2)(.1,1.5)% + \Line(-.1,-1.8)(.1,-1.8)% + \@HwM@small@pumpkin@profile-% + \@HwM@small@pumpkin@profile+% + \polygon*(0,.2)(-.2,-.2)(.2,-.2)% + \@HwM@small@pumpkin@mouth{1.3,-.3}{.8,-.8}{.5,-.7}% + {-1}% + {.7,-.6}{.4,-.5}% + {-.7}% + \end{@HwM@oplus@picture}% +} +\newcommand*\@HwM@Small@Pumpkin[2]{% + \@HwM@choose@thicknesses{\@HwM@small@pumpkin #1#2}% + {{}}% + {{1.5}}% +} +\newcommand*\@HwM@oplus@pumpkin@profile[1]{% + \cbezier(#1.1,1)(#11.2,1.7)(#11.6,.8)(#11.6,0)% + \cbezier(#1.1,-1)(#11,-1.5)(#11.6,-.8)(#11.6,0)% + \put(#1.6,.5){\circle*{.4}}% +} +\newcommand*\@HwM@oplus@pumpkin[3]{% + \begin{@HwM@oplus@picture}#1#2{3.6}{-1.8}% + \roundcap + \linethickness{#3\@HwM@thickness@units@for #2}% + \Line(-.1,1)(-.15,1.4)(.15,1.4)(.1,1)% + \Line(-.1,-1)(.1,-1)% + \@HwM@oplus@pumpkin@profile-% + \@HwM@oplus@pumpkin@profile+% + \@HwM@small@pumpkin@mouth{1,-.1}{.7,-.5}{.4,-.4}% + {-.7}% + {.6,-.3}{.3,-.2}% + {-.4}% + \end{@HwM@oplus@picture}% +} +\newcommand*\@HwM@Oplus@Pumpkin[2]{% + \@HwM@choose@thicknesses{\@HwM@oplus@pumpkin #1#2}% + {{.6}}% + {{1.2}}% +} +\newcommand*\@HwM@large@cloud[1]{% + \begin{@HwM@large@picture}{12}{-6}% + \roundcap + \linethickness{#1\@HwM@thickness@units@for \textfont}% + \cbezier(\-5,0)(\-7,.5)(\-5.5,3.25)(\-4,2.5)% + \cbezier(\-3.8,2.1)(\-4.75,3.5)(\-2,4)(\-2,3)% + \cbezier(\-2.4,2.5)(\-1.5,4)(\+2,5)(\+2,3)% + \cbezier(\+1.8,2.8)(\+2.5,4)(\+4.5,2.5)(\+2.8,1.8)% + \cbezier(\+3.2,2)(\+7,2)(\+6,0)(\+5,0)% + \cbezier(\+5,0)(\+6,0)(\+6.25,-1)(\+5.3,-1.4)% + \cbezier(\+4.6,-1.1)(\+6.8,-1.5)(\+4.3,-4)(\+3.6,-2.1)% + \cbezier(\+3.9,-2.6)(\+4,-3)(\+2,-5)(0,-3)% + \cbezier(\+.2,-2.4)(\-.2,-4.5)(\-4.5,-4)(\-4,-2)% + \cbezier(\-3.4,-2)(\-5.5,-2)(\-6.5,-.5)(\-5,0)% + \end{@HwM@large@picture}% +} +\newcommand*\@HwM@Large@Cloud{% + \@HwM@choose@thicknesses \@HwM@large@cloud + {{.8}}% + {{1.6}}% +} +\newcommand*\@HwM@small@cloud[2]{% + \begin{@HwM@small@picture}#1{6}{-3}% + \roundcap + \linethickness{#2\@HwM@thickness@units@for #1}% + \cbezier(\-2.5,0)(\-3.5,.25)(\-3,2)(\-1,1.5)% + \cbezier(\-1.2,1.25)(\-.75,2)(\+1,2.5)(\+1,1.5)% + \cbezier(\+.9,1.4)(\+1.25,2)(\+2.25,1.25)(\+1.4,.9)% + \cbezier(\+1.6,1)(\+3.5,1)(\+3,0)(\+2.5,0)% + \cbezier(\+2.5,0)(\+3,0)(\+3.5,-1)(\+2.1,-1.2)% + \cbezier(\+2.5,-1.1)(\+2.5,-2)(\+1,-2.5)(0,-1.5)% + \cbezier(\+.1,-1.2)(\-.1,-2.25)(\-2.25,-2)(\-2,-1)% + \cbezier(\-1.7,-1)(\-2.75,-1)(\-3.25,-.25)(\-2.5,0)% + \end{@HwM@small@picture}% +} +\newcommand*\@HwM@Small@Cloud[2]{% + \@HwM@choose@thicknesses{\@HwM@small@cloud #2}% + {{.5}}% + {{1.2}}% +} +\newcommand*\@HwM@symm@ghost@contour[8]{% + \cbezier(-#1,#2)(-#3,#4)(-#3,#5)(-#3,#6)% + \Line(-#3,#6)(-#3,#7)% + \cbezier(#1,#2)(#3,#4)(#3,#5)(#3,#6)% + \Line(#3,#6)(#3,#7)% + \cbezier(-#3,#7)(-#3,#8)(#3,#8)(#3,#7)% +} +\newcommand*\@HwM@symm@ghost@border[8]{% + \cbezier(-#1,#2)(-#3,#4)(-#5,#6)(-#7,#2)% + \qbezier(-#7,#2)(0,#8)(#7,#2)% + \cbezier(#1,#2)(#3,#4)(#5,#6)(#7,#2)% +} +\newcommand*\@HwM@symm@ghost@eyes[3]{% + \put(-#1,#2){\circle*{#3}}% + \put(#1,#2){\circle*{#3}}% +} +\newcommand*\@HwM@symmetric@ghost[3]{% + \begin{@HwM@math@picture}{2.6}{-1}% + {\@HwM@d@pict@strut{.6}}#1{3.2}{-1.6}% + \roundcap + \linethickness{#2\@HwM@thickness@units@for #1}% + \@HwM@symm@ghost@contour{1.5}{-1.5}{1}{-1}{-.5}{0}{.5}{2}% + \linethickness{#3\@HwM@thickness@units@for #1}% + \@HwM@symm@ghost@border{1.5}{-1.5}{1.1}{-1.1}{.7}{-1.9}{.3}{-1.2}% + \@HwM@symm@ghost@eyes{.4}{.7}{.4}% + \end{@HwM@math@picture}% +} +\newcommand*\@HwM@Symmetric@Ghost[2]{% + \@HwM@choose@thicknesses{\@HwM@symmetric@ghost #2}% + {{.9}{.6}}% + {{1.8}{1.2}}% +} +\newcommand*\@HwM@asymmetric@ghost[3]{% + \begin{@HwM@math@picture}{2.6}{-1}% + {\@HwM@d@pict@strut{.6}}#1{3.8}% + {-\@HwM@right@or@left{1.6}{2.2}}% + \roundcap + \linethickness{#2\@HwM@thickness@units@for #1}% + \cbezier(\-1.75,-1.5)(\-1,-1)(\-.7,-.5)(\-.5,0)% + \cbezier(\-.5,0)(\-.3,.5)(0,1.6)(\+1,1.6)% + \cbezier(\+1,1.6)(\+1.8,1.6)(\+1.8,.9)(\+1.8,.6)% + \cbezier(\+1.8,.6)(\+1.8,-.3)(\+.9,-.7)(\+1.25,-1.5)% + \linethickness{#3\@HwM@thickness@units@for #1}% + \cbezier(\-1.75,-1.5)(\-1.4,-1.2)(\-1.1,-1.8)(\-.75,-1.5)% + \cbezier(\-.75,-1.5)(\-.4,-1.2)(\-.1,-1.8)(\+.25,-1.5)% + \cbezier(\+.25,-1.5)(\+.6,-1.2)(\+.9,-1.8)(\+1.25,-1.5)% + \put(\+1.2,.7){\circle*{.4}}% + \end{@HwM@math@picture}% +} +\newcommand*\@HwM@Asymmetric@Ghost[2]{% + \@HwM@choose@thicknesses{\@HwM@asymmetric@ghost #2}% + {{.9}{.6}}% + {{1.8}{1.2}}% +} + +\newlength\@HwM@arrowfill@skip +\newcommand*\@HwM@auto@font@selector[2]{% + \def\@tempa{#1}% + \edef\@tempb{% + \ifx\displaystyle #2% + \textfont + \else \ifx\textstyle #2% + \textfont + \else \ifx\scriptstyle #2% + \scriptfont + \else \ifx\scriptscriptstyle #2% + \scriptscriptfont + \fi\fi\fi\fi + }% + \expandafter \@tempa \expandafter #2\@tempb +} +\newcommand*\@HwM@extended@arrowfill@[2]{% + % #1 is the "leaders" (pseudo-)macro (must gobble 2 arguments) + % #2 is the minimal width in math units + \@HwM@auto@font@selector + {\@HwM@stylefont@arrowfill{#1}{#2}}% +} +\newcommand*\@HwM@stylefont@arrowfill[4]{% + % #1 is the "leaders" (pseudo-)macro (must gobble 2 arguments) + % #2 is the minimal width in math units + % #3 is style selector (e.g., "\displaystyle") + % #4 is font selector (e.g., "\textfont") + $\m@th + \thickmuskip 0mu% + \medmuskip \thickmuskip + \thinmuskip \thickmuskip + \setlength\@HwM@arrowfill@skip + {#2\fontdimen 6 #4\tw@ \@plus \@ne fill}% + #3% + #1#3#4% + $% +} +\newcommand*\@HwM@enriched@arrowfill@[5]{% + % #1, #2, and #3 are the three characters + % #4 and #5 are the two additional macros (both with 2 arguments) + % its call must be followed by the argument for the minimal width + \@HwM@extended@arrowfill@ + {\HwM@arrowfill@cleaders{#1}{#2}{#3}{#4}{#5}}% +} +\newcommand*\HwM@arrowfill@cleaders[7]{% + % #1, #2, and #3 are the three characters + % #4 and #5 are the two additional macros (both with 2 arguments) + % #6 is style selector (e.g., "\displaystyle") + % #7 is font selector (e.g., "\textfont") + #4#6#7% + \relax #1\mkern-7mu% + \cleaders\hbox{$#6\mkern-2mu#2\mkern-2mu$}\hskip\@HwM@arrowfill@skip + \mkern-7mu#3\relax + #5#6#7% +} +\newcommand*\@HwM@rightbroomfill@Wwac@{% + \@HwM@set@right@dir + \@HwM@enriched@arrowfill@ \ni\relbar\relbar + \@gobbletwo + \@HwM@right@add@witch@cat + \@ne +} +\newcommand*\@HwM@right@add@witch@cat[2]{% + \hskip -\glueexpr \@HwM@arrowfill@skip/\tw@ \relax + \@HwM@Small@Witch@Wo@Broom #2% + \if@HwM@cat@ + \hskip \glueexpr \@HwM@arrowfill@skip/4 \relax + \@HwM@Small@Cat@On@Hori@Broom #2% + \hskip \glueexpr \@HwM@arrowfill@skip/4 \relax + \else + \hskip \glueexpr \@HwM@arrowfill@skip/\tw@ \relax + \fi +}% +\newcommand*\@HwM@leftbroomfill@Wwac@{% + \@HwM@set@left@dir + \@HwM@enriched@arrowfill@ \relbar\relbar\in + \@HwM@left@add@witch@cat + \@gobbletwo + \@ne +} +\newcommand*\@HwM@left@add@witch@cat[2]{% + \if@HwM@cat@ + \hskip \glueexpr \@HwM@arrowfill@skip/4 \relax + \@HwM@Small@Cat@On@Hori@Broom #2% + \hskip \glueexpr \@HwM@arrowfill@skip/4 \relax + \else + \hskip \glueexpr \@HwM@arrowfill@skip/\tw@ \relax + \fi + \@HwM@Small@Witch@Wo@Broom #2% + \hskip -\glueexpr \@HwM@arrowfill@skip/\tw@ \relax +} +\newcommand*\@HwM@init@swish@dimens[1]{% + \dimen4 \glueexpr \fontdimen 22 #1\tw@ *\tw@/\thr@@ + \dimen6 .25\@HwM@thickness@units@for #1% + \dimen@ \dimen4 + \@HwM@calc@swish@thickness +} +\newcommand*\@HwM@calc@swish@thickness{% + \dimen@ii -\dimen@ + \advance \dimen@ii \dimen6 +} +\newcommand*\@HwM@swish@leaders{% + \leaders \hrule \@height\dimen@ \@depth\dimen@ii \hskip +} +\newcommand*\@HwM@right@ghost@swish[2]{% + \@HwM@init@swish@dimens #2% + \hskip \glueexpr \@HwM@arrowfill@skip/4\relax + \@HwM@swish@leaders \glueexpr \@HwM@arrowfill@skip/4\relax + \hskip \glueexpr \@HwM@arrowfill@skip/8\relax + \@HwM@swish@leaders \glueexpr \@HwM@arrowfill@skip*\thr@@/8\relax + \hskip -\@HwM@arrowfill@skip + \advance \dimen@ \dimen4 + \@HwM@calc@swish@thickness + \@HwM@swish@leaders \glueexpr \@HwM@arrowfill@skip*\thr@@/4 \relax + \hskip \glueexpr \@HwM@arrowfill@skip/8\relax + \@HwM@swish@leaders + \glueexpr \@HwM@arrowfill@skip/8+\dimen4 /\tw@ \relax + \hskip -\glueexpr \@HwM@arrowfill@skip/\tw@ \relax + \advance \dimen@ \dimen4 + \@HwM@calc@swish@thickness + \@HwM@swish@leaders + \glueexpr \@HwM@arrowfill@skip/\tw@ +\dimen4 /\tw@ \relax + \kern -\dimen4 + \mathrightghost +} +\newcommand*\@HwM@left@ghost@swish[2]{% + \mathleftghost + \@HwM@init@swish@dimens #2% + \@HwM@swish@leaders \glueexpr \@HwM@arrowfill@skip*\thr@@/8\relax + \hskip \glueexpr \@HwM@arrowfill@skip/8\relax + \@HwM@swish@leaders \glueexpr \@HwM@arrowfill@skip/4\relax + \hskip -\glueexpr \@HwM@arrowfill@skip*\thr@@/4+\dimen4 /\tw@ \relax + \advance \dimen@ \dimen4 + \@HwM@calc@swish@thickness + \@HwM@swish@leaders + \glueexpr \@HwM@arrowfill@skip/8+\dimen4 /\tw@\relax + \hskip \glueexpr \@HwM@arrowfill@skip/8\relax + \@HwM@swish@leaders \glueexpr \@HwM@arrowfill@skip*\thr@@/4\relax + \hskip -\glueexpr \@HwM@arrowfill@skip +\dimen4 \relax + \advance \dimen@ \dimen4 + \@HwM@calc@swish@thickness + \@HwM@swish@leaders + \glueexpr \@HwM@arrowfill@skip/\tw@ +\dimen4 /\tw@ \relax + \hskip \glueexpr \@HwM@arrowfill@skip/\tw@ +\dimen4 /\tw@ \relax +} +\newcommand*\@HwM@rightghostfill@{% + \@HwM@extended@arrowfill@ \@HwM@right@ghost@swish {.5}% +} +\newcommand*\@HwM@leftghostfill@{% + \@HwM@extended@arrowfill@ \@HwM@left@ghost@swish {.5}% +} + +\newcommand*\@HwM@dblstyle@mathpalette[2]{% + % Works like "\mathpalette", but macro passed in #1 must take + % (at least) three arguments, of which the first _two_ are + % style selections. + \mathchoice + {#1\displaystyle \scriptstyle {#2}}% + {#1\textstyle \scriptstyle {#2}}% + {#1\scriptstyle \scriptscriptstyle {#2}}% + {#1\scriptscriptstyle \scriptscriptstyle {#2}}% +} +\newcommand*\@HwM@variable@mathpalette[2]{% + \mathchoice + {#1}% + {#2\textstyle \textfont }% + {#2\scriptstyle \scriptfont }% + {#2\scriptscriptstyle \scriptscriptfont}% +} +\newcommand*\@HwM@constant@mathpalette[1]{% + \mathchoice + {#1\displaystyle \textfont }% + {#1\textstyle \textfont }% + {#1\scriptstyle \scriptfont }% + {#1\scriptscriptstyle \scriptscriptfont}% +} + +\newcommand*\@HwM@general@large@operator[2]{% + \mathop{% + \@HwM@variable@mathpalette{#1}{#2}% + }\slimits@ +} +\newcommand*\@HwM@general@inner@symbol[2]{% + \mathinner{% + \@HwM@variable@mathpalette{#1}{#2}% + }% +} +\newcommand*\@HwM@general@binary@operation[1]{% + \mathbin{% + \@HwM@constant@mathpalette{#1}% + }% +} +\newcommand*\@HwM@general@ordinary@symbol[1]{% + \mathord{% + \@HwM@constant@mathpalette{#1}% + }% +} +\newcommand*\@HwM@ifstar@cat[1]{% + \@ifstar + {\@HwM@cat@true #1}% + {\@HwM@cat@false #1}% +} + +\newcommand*\mathwitch{% + \DOTSB + \@HwM@set@right@dir + \@HwM@ifstar@cat{\@HwM@mathwitch lr}% +} +\newcommand*\reversemathwitch{% + \DOTSB + \@HwM@set@left@dir + \@HwM@ifstar@cat{\@HwM@mathwitch rl}% +} +\newcommand*\@HwM@mathwitch[2]{% + \@HwM@general@large@operator {\@HwM@Large@Witch #1#2}\@HwM@Small@Witch +} + +\newcommand*\pumpkin{% + \DOTSB + \@HwM@general@binary@operation \@HwM@Oplus@Pumpkin +} +\newcommand*\bigpumpkin{% + \DOTSB + \@HwM@general@large@operator \@HwM@Large@Pumpkin \@HwM@Small@Pumpkin +} +\@ifdefinable\greatpumpkin{\let\greatpumpkin=\bigpumpkin} + +\newcommand*\mathcloud {\@HwM@set@right@dir \@HwM@mathcloud} +\newcommand*\reversemathcloud{\@HwM@set@left@dir \@HwM@mathcloud} +\newcommand*\@HwM@mathcloud{% + \@HwM@general@inner@symbol \@HwM@Large@Cloud \@HwM@Small@Cloud +} + +\newcommand*\mathghost{% + \@HwM@general@ordinary@symbol \@HwM@Symmetric@Ghost +} +\newcommand*\mathrightghost{\@HwM@set@right@dir \@HwM@mathghost} +\newcommand*\mathleftghost {\@HwM@set@left@dir \@HwM@mathghost} +\newcommand*\@HwM@mathghost{% + \@HwM@general@ordinary@symbol \@HwM@Asymmetric@Ghost +} +\newcommand*\@HwM@dblstyle@overarrow@[4]{% + % #1 := stretchable covering arrow + % #2 := base style + % #3 := style for covering arrow + % #4 := base symbol + \vbox{\ialign{##\crcr + #1#3\crcr + \noalign{\nointerlineskip}% + $\m@th\hfil #2#4\hfil$\crcr + }}% +} +\newcommand*\@HwM@dblstyle@underarrow@[4]{% + % #1 := stretchable underlying arrow + % #2 := base style + % #3 := style for underlying arrow + % #4 := base symbol + \vtop{\ialign{##\crcr + $\m@th\hfil #2#4\hfil$\crcr + \noalign{\nointerlineskip \kern\ex@}% + #1#3\crcr + }}% +} +\newcommand*\@HwM@general@ou@w@cat[1]{% + \@HwM@ifstar@cat{\@HwM@dblstyle@mathpalette{#1}}% +} +\newcommand*\overrightwitchonbroom{% + \@HwM@general@ou@w@cat + {\@HwM@dblstyle@overarrow@ \@HwM@rightbroomfill@Wwac@}% +} +\newcommand*\overleftwitchonbroom{% + \@HwM@general@ou@w@cat + {\@HwM@dblstyle@overarrow@ \@HwM@leftbroomfill@Wwac@}% +} +\newcommand*\overrightswishingghost{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@overarrow@ \@HwM@rightghostfill@}% +} +\newcommand*\overleftswishingghost{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@overarrow@ \@HwM@leftghostfill@}% +} +\newcommand*\underrightwitchonbroom{% + \@HwM@general@ou@w@cat + {\@HwM@dblstyle@underarrow@ \@HwM@rightbroomfill@Wwac@}% +} +\newcommand*\underleftwitchonbroom{% + \@HwM@general@ou@w@cat + {\@HwM@dblstyle@underarrow@ \@HwM@leftbroomfill@Wwac@}% +} +\newcommand*\underrightswishingghost{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@underarrow@ \@HwM@rightghostfill@}% +} +\newcommand*\underleftswishingghost{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@underarrow@ \@HwM@leftghostfill@}% +} +\newcommand*\overscriptrightarrow{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@overarrow@ \rightarrowfill@}% +} +\newcommand*\overscriptleftarrow{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@overarrow@ \leftarrowfill@}% +} +\newcommand*\overscriptleftrightarrow{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@overarrow@ \leftrightarrowfill@}% +} +\newcommand*\underscriptrightarrow{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@underarrow@ \rightarrowfill@}% +} +\newcommand*\underscriptleftarrow{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@underarrow@ \leftarrowfill@}% +} +\newcommand*\underscriptleftrightarrow{% + \@HwM@dblstyle@mathpalette + {\@HwM@dblstyle@underarrow@ \leftrightarrowfill@}% +} +\newcommand*\@HwM@ext@arrow@w@cat[5]{% + \def\@HwM@tempa{\ext@arrow {#1}{#2}{#3}{#4}{#5}}% + \@HwM@ifstar@cat{\@HwM@ext@arrow@w@cat@x}% +} +\newcommand*\@HwM@ext@arrow@w@cat@x[2][]{% + \@HwM@tempa {#1}{#2}% +} +\newcommand*\xrightwitchonbroom{% + \@HwM@ext@arrow@w@cat 9395\@HwM@rightbroomfill@Wwac@% +} +\newcommand*\xleftwitchonbroom{% + \@HwM@ext@arrow@w@cat 3959\@HwM@leftbroomfill@Wwac@% +} +\newcommand*\xrightswishingghost[2][]{% + \ext@arrow 3{12}5{15}\@HwM@rightghostfill@{#1}{#2}% +} +\newcommand*\xleftswishingghost[2][]{% + \ext@arrow {12}3{15}5\@HwM@leftghostfill@{#1}{#2}% +} +\endinput +%% +%% End of file `halloweenmath.sty'. |