diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty | 101 |
1 files changed, 99 insertions, 2 deletions
diff --git a/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty b/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty index c956263a6c4..609e7c69cec 100644 --- a/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty +++ b/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty @@ -10,7 +10,7 @@ %% Twitter : @aminophen %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{scsnowman}[2018/01/15 v1.2c Snowman variants using TikZ] +\ProvidesPackage{scsnowman}[2018/06/07 v1.2d Snowman variants using TikZ] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sctkzsym-base}} \ProcessOptions\relax \RequirePackage{sctkzsym-base}[2017/08/08] @@ -102,6 +102,88 @@ } \fi % +%------------------------------- ZR something BEGIN + +% change enumerate label using \scsnowmannumeral (joke) +% (this feature is `scsnowman'-specific, so the name-space +% is intentionally set to \scsnowman@...) + +% unique token +\def\scsnowman@end{\scsnowman@end@} + +\let\scsnowman@eight\relax + +%% \scsnowman@scan@option\CScontinue{<prologue>} +\def\scsnowman@scan@option#1#2{% + \scsnowman@scan@option@a#2[]\scsnowman@end#1% +} +\def\scsnowman@scan@option@a#1[#2]#3\scsnowman@end#4{% + #4{#2}% +} + +\def\enumsnowman#1#{% + \scsnowman@scan@option\scsnowman@enumsnowman{#1}% +} +\def\scsnowman@enumsnowman#1#2{% + \scsnowmanNumeral{#1}{\@nameuse{c@#2}}% +} + +% For use with \pagenumbering. +\def\@enumsnowman{% + \scsnowmanNumeral{}% +} + +\def\scsnowmannumeral#1#{% + \scsnowman@scan@option\scsnowmanNumeral{#1}% +} + +% \scsnowmanNumeral{<option>}{<number>} +% change 8 to snowman in counters (joke) +% (this feature is `scsnowman'-specific, so the name-space +% is intentionally set to \scsnowman@...) + +% internal entry point +\newcommand*\scsnowmanNumeral[2]{% + \expandafter\scsnowman@@numeral\number#2\relax\scsnowman@end{#1}% +} +\def\scsnowman@@numeral#1\relax#2\scsnowman@end#3{% + \scsnowman@numeral{#3}{#1}% +} +\DeclareRobustCommand*\scsnowman@numeral[2]{% + \begingroup + \def\scsnowman@eight{\scsnowman[#1]}% + \scsnowman@numeral@a#28\scsnowman@end + \endgroup +} +\def\scsnowman@numeral@a#18#2\scsnowman@end{% + \ifx\scsnowman@end#2\scsnowman@end + #1% + \else + #1\scsnowman@eight + \scsnowman@numeral@a#2\scsnowman@end + \fi +} + +\providecommand*\pdfstringdefPreHook{} +\g@addto@macro\pdfstringdefPreHook{% + \let\scsnowman@eight\scsnowman@hy@eight + \let\scsnowman@numeral\scsnowman@hy@numeral +} +\def\scsnowman@hy@numeral#1#2{% #1 is ignored + \scsnowman@numeral@a#28\scsnowman@end +} + +\DeclareTextCommand{\scsnowman@hy@eight}{PU}{\9046\003}% U+2603 +\DeclareTextCommand{\scsnowman@hy@eight}{PD1}{8}%fallback +\ifx\forcecjktoken\@undefined\else %upTeX + \begingroup + \kansujichar8="2603 + \xdef\scsnowman@hy@eight{\kansuji8} + \endgroup +\fi + +%------------------------------- ZR something END +% % key initialization \newcommand\sctkzsym@snowman@initkeys{% \def\sctkzsym@snowman@init{false}% @@ -109,6 +191,7 @@ \def\sctkzsym@snowman@shape{normal}% \def\sctkzsym@snowman@body{false}% \def\sctkzsym@snowman@eyes{true}% default on + \def\sctkzsym@snowman@nose{false}% \def\sctkzsym@snowman@mouthshape{smile}% \def\sctkzsym@snowman@mouth{true}% default on \def\sctkzsym@snowman@sweat{false}% @@ -117,6 +200,7 @@ \def\sctkzsym@snowman@muffler{false}% \def\sctkzsym@snowman@buttons{false}% \def\sctkzsym@snowman@snow{false}% + \def\sctkzsym@snowman@note{false}% \def\sctkzsym@snowman@adjustbaseline{false}% \def\sctkzsym@snowman@mikan{false}% \def\sctkzsym@snowman@leaf{false}% @@ -133,6 +217,7 @@ \sctkzsym@define@key@wodefault{snowman}{shape} \sctkzsym@define@key@withbool{snowman}{body} \sctkzsym@define@key@withbool{snowman}{eyes} +\sctkzsym@define@key@withbool{snowman}{nose} \sctkzsym@define@key@withword{snowman}{mouthshape}{smile,frown,tight} \sctkzsym@define@key@withbool{snowman}{mouth} \sctkzsym@define@key@withbool{snowman}{sweat} @@ -141,6 +226,7 @@ \sctkzsym@define@key@withbool{snowman}{muffler} \sctkzsym@define@key@withbool{snowman}{buttons} \sctkzsym@define@key@withbool{snowman}{snow} +\sctkzsym@define@key@withbool{snowman}{note} \sctkzsym@define@key@withbool{snowman}{adjustbaseline} \sctkzsym@define@key@withbool{snowman}{mikan} \sctkzsym@define@key@withbool{snowman}{leaf} @@ -169,6 +255,8 @@ \def\sctkzsym@snowman@snowfill{\sctkzsym@snowman@snow}% \def\sctkzsym@snowman@snowpath{\path[draw=\sctkzsym@snowman@snowstroke,fill=\sctkzsym@snowman@snowfill]}% \def\sctkzsym@snowman@eyefill{\sctkzsym@defaultanticolor}% + \def\sctkzsym@snowman@nosestroke{\sctkzsym@defaultanticolor}% + \def\sctkzsym@snowman@nosefill{\sctkzsym@snowman@nose}% \def\sctkzsym@snowman@mouthstroke{\sctkzsym@defaultanticolor}% \def\sctkzsym@snowman@sweatstroke{\sctkzsym@defaultanticolor}% \def\sctkzsym@snowman@sweatfill{\sctkzsym@snowman@sweat}% @@ -184,6 +272,8 @@ \def\sctkzsym@snowman@snowfill{}% \def\sctkzsym@snowman@snowpath{\path[draw=\sctkzsym@snowman@snowstroke]}% \def\sctkzsym@snowman@eyefill{\sctkzsym@defaultcolor}% + \def\sctkzsym@snowman@nosestroke{\sctkzsym@snowman@nose}% + \def\sctkzsym@snowman@nosefill{\sctkzsym@snowman@nose}% \def\sctkzsym@snowman@mouthstroke{\sctkzsym@defaultcolor}% \def\sctkzsym@snowman@sweatstroke{\sctkzsym@snowman@sweat}% \def\sctkzsym@snowman@sweatfill{\sctkzsym@defaultanticolor}% @@ -195,6 +285,9 @@ % check eyes (currently eyes=<color> not supported; falling back to default-(anti)color) \sctkzsym@hndl@key@withbool{snowman}{eyes}% \def\sctkzsym@snowman@eyepath{\path[fill=\sctkzsym@snowman@eyefill]}% + % check nose + \sctkzsym@hndl@key@withbool{snowman}{nose}% + \def\sctkzsym@snowman@nosepath{\path[draw=\sctkzsym@snowman@nosestroke,fill=\sctkzsym@snowman@nosefill]}% % check mouth (currently mouth=<color> not supported; falling back to default-(anti)color) \sctkzsym@hndl@key@withword{snowman}{mouthshape}% \sctkzsym@hndl@key@withbool{snowman}{mouth}% @@ -220,9 +313,13 @@ \def\sctkzsym@snowman@buttonpath{\path[draw=\sctkzsym@snowman@buttonstroke,fill=\sctkzsym@snowman@buttonfill]}% % check snow \sctkzsym@hndl@key@withbool{snowman}{snow}% + % check note + \sctkzsym@hndl@key@withbool{snowman}{note}% + \def\sctkzsym@snowman@notefill{\sctkzsym@snowman@note}% + \def\sctkzsym@snowman@notepath{\path[fill=\sctkzsym@snowman@notefill]}% % check adjustbaseline \sctkzsym@hndl@key@onlybool{snowman}{adjustbaseline}% - % check mikan + % check mikan/leaf \sctkzsym@hndl@key@withbool{snowman}{mikan}% \sctkzsym@hndl@key@withbool{snowman}{leaf}% \def\sctkzsym@snowman@mikanstroke{\sctkzsym@snowman@mikan}% |