summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty')
-rw-r--r--Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty101
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}%