diff options
author | Karl Berry <karl@freefriends.org> | 2016-12-22 22:56:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-12-22 22:56:28 +0000 |
commit | 41d30b64b0ba0859b19a0ab4563368c17bdf906f (patch) | |
tree | 94bf5c031116f8c4e44346b975f0b5568fdd6d0e /Master/texmf-dist/tex/latex/scsnowman | |
parent | 6add04a52f80b715c0e69f411ac56440589f3c75 (diff) |
scsnowman (22dec16)
git-svn-id: svn://tug.org/texlive/trunk@42774 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/scsnowman')
-rw-r--r-- | Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def | 115 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty | 247 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty | 120 |
3 files changed, 482 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def b/Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def new file mode 100644 index 00000000000..e8205179c2b --- /dev/null +++ b/Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def @@ -0,0 +1,115 @@ +%% +%% This is file `scsnowman-normal.def', part of scsnowman package. +%% Maintained on GitHub: +%% https://github.com/aminophen/scsnowman +%% +%% Copyright (c) 2015-2016 Hironobu Yamashita +%% Email : h.y.acetaminophen[a t]gmail.com +%% GitHub : https://github.com/aminophen +%% Blog : http://acetaminophen.hatenablog.com/ +%% Twitter : @aminophen +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{scsnowman-normal.def}[2016/12/22 v1.0 scsnowman definition (normal)] +\def\sctkzsym@snowman@normal{% + \begin{tikzpicture}[x=1.8ex,y=1.8ex,line width=0.025ex*\sctkzsym@coord@scl,line join=round,line cap=round,scale=\sctkzsym@snowman@scale] + \useasboundingbox(0,0) rectangle (1,1); + \sctkzsym@snowman@bodypath % body (IPA-like) + (0.5,0.72) .. controls (0.64,0.72) and (0.76,0.65) .. + (0.76,0.55) .. controls (0.76,0.51) and (0.72,0.47) .. + (0.67,0.44) .. controls (0.79,0.41) and (0.84,0.32) .. + (0.84,0.25) .. controls (0.84,0.13) and (0.75,0.08) .. + (0.68,0.08) -- + (0.32,0.08) .. controls (0.25,0.08) and (0.16,0.13) .. + (0.16,0.25) .. controls (0.16,0.32) and (0.21,0.41) .. + (0.33,0.44) .. controls (0.28,0.47) and (0.24,0.51) .. + (0.24,0.55) .. controls (0.24,0.65) and (0.36,0.72) .. + (0.5,0.72) -- + cycle; + \ifsctkzsym@snowman@eyes + \sctkzsym@snowman@eyepath (0.40,0.56) circle (0.02 and 0.03); + \sctkzsym@snowman@eyepath (0.60,0.56) circle (0.02 and 0.03); + \fi + \ifsctkzsym@snowman@mouth + \expandafter\ifnum\csname sctkzsym@snowman@mouthshape@c\endcsname=\thr@@ + \sctkzsym@snowman@mouthpath (0.40,0.47) -- (0.60,0.47); + \else\expandafter\ifnum\csname sctkzsym@snowman@mouthshape@c\endcsname=\tw@ + \sctkzsym@snowman@mouthpath (0.40,0.46) .. controls (0.45,0.49) and (0.55,0.49) .. (0.60,0.46); + \else + \sctkzsym@snowman@mouthpath (0.40,0.48) .. controls (0.45,0.45) and (0.55,0.45) .. (0.60,0.48); + \fi\fi + \fi + \ifsctkzsym@snowman@sweat + \sctkzsym@snowman@sweatpath (0.70,0.56) .. controls (0.64,0.46) and (0.75,0.46) .. (0.70,0.56) -- cycle; + \fi + \ifsctkzsym@snowman@hat + \sctkzsym@snowman@hatpath % hat + (0.58,0.90) -- + (0.77,0.81) -- + (0.74,0.61) .. controls (0.66,0.60) and (0.50,0.66) .. + (0.46,0.72) -- + (0.58,0.90) -- + cycle; + \fi + \ifsctkzsym@snowman@arms + \sctkzsym@snowman@armspath % right arm (SourceHanSans-like) + (0.20,0.31) .. controls (0.19,0.33) and (0.14,0.41) .. + (0.13,0.42) .. controls (0.12,0.43) and (0.10,0.43) .. + (0.07,0.44) .. controls (0.04,0.46) and (0.06,0.46) .. + (0.08,0.46) .. controls (0.09,0.46) and (0.11,0.44) .. + (0.12,0.44) .. controls (0.14,0.46) and (0.14,0.47) .. + (0.15,0.49) .. controls (0.16,0.51) and (0.16,0.49) .. + (0.16,0.48) .. controls (0.16,0.46) and (0.14,0.44) .. + (0.15,0.43) .. controls (0.16,0.42) and (0.21,0.35) .. + (0.22,0.33) .. controls (0.23,0.31) and (0.21,0.30) .. + (0.20,0.31) -- + cycle; + \sctkzsym@snowman@armspath % left arm (SourceHanSans-like) + (0.80,0.31) .. controls (0.81,0.33) and (0.86,0.41) .. + (0.87,0.42) .. controls (0.88,0.43) and (0.90,0.43) .. + (0.93,0.44) .. controls (0.96,0.46) and (0.94,0.46) .. + (0.92,0.46) .. controls (0.91,0.46) and (0.89,0.44) .. + (0.88,0.44) .. controls (0.86,0.46) and (0.86,0.47) .. + (0.85,0.49) .. controls (0.84,0.51) and (0.84,0.49) .. + (0.84,0.48) .. controls (0.84,0.46) and (0.86,0.44) .. + (0.85,0.43) .. controls (0.84,0.42) and (0.79,0.35) .. + (0.78,0.33) .. controls (0.77,0.31) and (0.79,0.30) .. + (0.80,0.31) -- + cycle; + \fi + \ifsctkzsym@snowman@muffler + \sctkzsym@snowman@mufflerpath % muffler (SourceHanSans-like) + (0.27,0.48) .. controls (0.42,0.38) and (0.58,0.38) .. + (0.73,0.48) .. controls (0.75,0.46) and (0.76,0.44) .. + (0.77,0.41) .. controls (0.77,0.39) and (0.75,0.37) .. + (0.73,0.36) .. controls (0.74,0.33) and (0.74,0.31) .. + (0.76,0.26) .. controls (0.75,0.25) and (0.72,0.24) .. + (0.66,0.23) .. controls (0.66,0.27) and (0.65,0.30) .. + (0.63,0.34) .. controls (0.42,0.30) and (0.32,0.35) .. + (0.24,0.41) .. controls (0.25,0.45) and (0.26,0.47) .. + (0.27,0.48) -- + cycle; + \fi + \ifsctkzsym@snowman@buttons\ifsctkzsym@snowman@muffler + \sctkzsym@snowman@buttonpath (0.50,0.16) circle (0.03); + \sctkzsym@snowman@buttonpath (0.50,0.26) circle (0.03); + \else + \sctkzsym@snowman@buttonpath (0.50,0.17) circle (0.03); + \sctkzsym@snowman@buttonpath (0.50,0.29) circle (0.03); + \fi\fi + \ifsctkzsym@snowman@snow + \sctkzsym@snowman@snowpath (0.07,0.28) circle (0.04); + \sctkzsym@snowman@snowpath (0.08,0.68) circle (0.04); + \sctkzsym@snowman@snowpath (0.13,0.55) circle (0.04); + \sctkzsym@snowman@snowpath (0.23,0.76) circle (0.04); + \sctkzsym@snowman@snowpath (0.42,0.89) circle (0.04); + \sctkzsym@snowman@snowpath (0.74,0.89) circle (0.04); + \sctkzsym@snowman@snowpath (0.88,0.73) circle (0.04); + \sctkzsym@snowman@snowpath (0.92,0.53) circle (0.04); + \sctkzsym@snowman@snowpath (0.94,0.23) circle (0.04); + \fi + \end{tikzpicture}% +} +\endinput +%% +%% End of file `scsnowman-normal.def'. diff --git a/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty b/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty new file mode 100644 index 00000000000..b3d2866b551 --- /dev/null +++ b/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty @@ -0,0 +1,247 @@ +%% +%% This is file `scsnowman.sty', part of scsnowman package. +%% Maintained on GitHub: +%% https://github.com/aminophen/scsnowman +%% +%% Copyright (c) 2015-2016 Hironobu Yamashita +%% Email : h.y.acetaminophen[a t]gmail.com +%% GitHub : https://github.com/aminophen +%% Blog : http://acetaminophen.hatenablog.com/ +%% Twitter : @aminophen +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{scsnowman}[2016/12/22 v1.0 Snowman variants using TikZ] +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sctkzsym-base}} +\ProcessOptions\relax +\RequirePackage{sctkzsym-base}[2016/08/08] +% +% make document snowman (joke) +\ifsctkzsym@document +\def\makedocumentsnowman{% + \ifx\documentclass\@notprerr + % Already after \begin{document}, throw an error + \def\sctkzsym@documentsnowman{% + \PackageError{scsnowman}{% + Use of \noexpand\makedocumentsnowman too late!\MessageBreak + Try using before \string\begin{document}}{% + I'll try to stop processing, but + this attempt can fail.\MessageBreak\@ehc}% + % If the above error is ignored, there's no way to + % exit successfully in all cases. So, try to continue + % processing by ignoring all LaTeX errors. + % TeX errors still remain; therefore, \makedocumentsnowman + % in internal vertical mode or math mode will fail. + \let\@latex@error\@gobbletwo\par + \scsnowman[init,scale=14,hat,muffler,buttons,snow]% + \scsnowman[init,scale=14,hat,muffler,buttons,arms]% + \scsnowman[init,scale=14,body,hat,muffler,buttons,snow]% + \end{document}}% + \else\ifx\documentclass\@twoclasseserror + \ifx\AtBeginDocument\@firstofone + % In preamble, inside \AtBeginDocument; avoid infinite loop + \def\sctkzsym@documentsnowman{% + \centering + \scsnowman[init,scale=14,hat,muffler,buttons,snow]% + \scsnowman[init,scale=14,hat,muffler,buttons,arms]% + \scsnowman[init,scale=14,body,hat,muffler,buttons,snow]% + \end{document}}% + \else + % In preamble; start document + \def\sctkzsym@documentsnowman{% + \pagestyle{empty}% + \begin{document}% + \centering + \scsnowman[init,scale=14,hat,muffler,buttons,snow]% + \scsnowman[init,scale=14,hat,muffler,buttons,arms]% + \scsnowman[init,scale=14,body,hat,muffler,buttons,snow]% + \end{document}}% + \fi + \else + % Before \documentclass{...}; load class and start document + \def\sctkzsym@documentsnowman{% + \documentclass{minimal}% + \begin{document}% + \centering + \scsnowman[init,scale=18,hat,muffler,buttons,snow]% + \scsnowman[init,scale=18,hat,muffler,buttons,arms]% + \scsnowman[init,scale=18,body,hat,muffler,buttons,snow]% + \end{document}}% + \fi\fi + \sctkzsym@documentsnowman +} +\fi +% +% change QED symbol (joke) +\ifsctkzsym@qed + \def\sctkzsym@snowman@qedsymbol{\scsnowman[init,hat=true,muffler=red]} + \newcommand{\makeqedsnowman}{% + \ifx\qedsymbol\sctkzsym@snowman@qedsymbol\else + \let\sctkzsym@saved@qedsymbol\qedsymbol + \let\qedsymbol\sctkzsym@snowman@qedsymbol + \fi + } +\fi +% +% change item label (joke) +\ifsctkzsym@item + \def\sctkzsym@snowman@labelitemi{\scsnowman[init,hat=true,muffler=red]} + \def\sctkzsym@snowman@labelitemii{\scsnowman[init,hat=true,muffler=blue]} + \def\sctkzsym@snowman@labelitemiii{\scsnowman[init,hat=true,muffler=green]} + \def\sctkzsym@snowman@labelitemiv{\scsnowman[init,hat=true,muffler=yellow]} + \newcommand{\makeitemsnowman}{% + \ifx\labelitemi\sctkzsym@snowman@labelitemi\else + \let\sctkzsym@saved@labelitemi\labelitemi + \let\sctkzsym@saved@labelitemii\labelitemii + \let\sctkzsym@saved@labelitemiii\labelitemiii + \let\sctkzsym@saved@labelitemiv\labelitemiv + \let\labelitemi\sctkzsym@snowman@labelitemi + \let\labelitemii\sctkzsym@snowman@labelitemii + \let\labelitemiii\sctkzsym@snowman@labelitemiii + \let\labelitemiv\sctkzsym@snowman@labelitemiv + \fi + } +\fi +% +% key initialization +\newcommand\sctkzsym@snowman@initkeys{% + \def\sctkzsym@snowman@init{false}% + \def\sctkzsym@snowman@scale{1}% + \def\sctkzsym@snowman@body{false}% + \def\sctkzsym@snowman@eyes{true}% default on + \def\sctkzsym@snowman@mouthshape{smile}% + \def\sctkzsym@snowman@mouth{true}% default on + \def\sctkzsym@snowman@sweat{false}% + \def\sctkzsym@snowman@hat{false}% + \def\sctkzsym@snowman@arms{false}% + \def\sctkzsym@snowman@muffler{false}% + \def\sctkzsym@snowman@buttons{false}% + \def\sctkzsym@snowman@snow{false}% +} +\newcommand{\sctkzsym@snowman@defaultkeys}{% + \sctkzsym@snowman@initkeys +} +\sctkzsym@snowman@defaultkeys +% +% key definitions +\sctkzsym@define@key@withbool{snowman}{init} +\sctkzsym@define@key@wodefault{snowman}{scale} +\sctkzsym@define@key@withbool{snowman}{body} +\sctkzsym@define@key@withbool{snowman}{eyes} +\sctkzsym@define@key@wodefault{snowman}{mouthshape} +\sctkzsym@define@key@withbool{snowman}{mouth} +\sctkzsym@define@key@withbool{snowman}{sweat} +\sctkzsym@define@key@withbool{snowman}{hat} +\sctkzsym@define@key@withbool{snowman}{arms} +\sctkzsym@define@key@withbool{snowman}{muffler} +\sctkzsym@define@key@withbool{snowman}{buttons} +\sctkzsym@define@key@withbool{snowman}{snow} +% +% count definitions for \sctkzsym@hndl@key@wodefault +\newcount\sctkzsym@snowman@mouthshape@c +% +% definition of \scsnowman[...] +\DeclareRobustCommand\scsnowman[1][]{% + % key initialization using default + \sctkzsym@snowman@defaultkeys + % read <key>=<value> + \setkeys{sctkzsym@snowman}{#1}% + % check init; if init=true, initialize and read keys again + \sctkzsym@hndl@key@onlybool{snowman}{init}% + \ifsctkzsym@snowman@init + \sctkzsym@snowman@initkeys + \setkeys{sctkzsym@snowman}{#1,init=false}% + \fi + % + % check body; determine whether "black snowman" or "white snowman" + \sctkzsym@hndl@key@withbool{snowman}{body}% + \ifsctkzsym@snowman@body % "black snowman"; black snow; white eyes/mouth/stroke + \def\sctkzsym@snowman@bodystroke{\sctkzsym@snowman@body}% + \def\sctkzsym@snowman@bodyfill{\sctkzsym@snowman@body}% + \def\sctkzsym@snowman@bodypath{\path[draw=\sctkzsym@snowman@bodystroke,fill=\sctkzsym@snowman@bodyfill]}% + \def\sctkzsym@snowman@snowstroke{\sctkzsym@snowman@snow}% + \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@mouthstroke{\sctkzsym@defaultanticolor}% + \def\sctkzsym@snowman@sweatstroke{\sctkzsym@defaultanticolor}% + \def\sctkzsym@snowman@sweatfill{\sctkzsym@snowman@sweat}% + \def\sctkzsym@snowman@mufflerstroke{\sctkzsym@defaultanticolor}% + \def\sctkzsym@snowman@mufflerfill{\sctkzsym@snowman@muffler}% + \def\sctkzsym@snowman@buttonstroke{\sctkzsym@defaultanticolor}% + \def\sctkzsym@snowman@buttonfill{\sctkzsym@snowman@buttons}% + \else % "white snowman"; white snow; black eyes/mouth/stroke; bodystroke should be there + \def\sctkzsym@snowman@bodystroke{\sctkzsym@defaultcolor}% + \def\sctkzsym@snowman@bodyfill{}% + \def\sctkzsym@snowman@bodypath{\path[draw=\sctkzsym@snowman@bodystroke]}% + \def\sctkzsym@snowman@snowstroke{\sctkzsym@snowman@snow}% + \def\sctkzsym@snowman@snowfill{}% + \def\sctkzsym@snowman@snowpath{\path[draw=\sctkzsym@snowman@snowstroke]}% + \def\sctkzsym@snowman@eyefill{\sctkzsym@defaultcolor}% + \def\sctkzsym@snowman@mouthstroke{\sctkzsym@defaultcolor}% + \def\sctkzsym@snowman@sweatstroke{\sctkzsym@snowman@sweat}% + \def\sctkzsym@snowman@sweatfill{\sctkzsym@defaultanticolor}% + \def\sctkzsym@snowman@mufflerstroke{\sctkzsym@snowman@muffler}% + \def\sctkzsym@snowman@mufflerfill{\sctkzsym@snowman@muffler}% + \def\sctkzsym@snowman@buttonstroke{\sctkzsym@snowman@buttons}% + \def\sctkzsym@snowman@buttonfill{\sctkzsym@snowman@buttons}% + \fi + % 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 mouth (currently mouth=<color> not supported; falling back to default-(anti)color) + \sctkzsym@hndl@key@wodefault{snowman}{mouthshape}{smile}{frown}{tight}% + \sctkzsym@hndl@key@withbool{snowman}{mouth}% + \def\sctkzsym@snowman@mouthpath{\path[draw=\sctkzsym@snowman@mouthstroke]}% + % check sweat + \sctkzsym@hndl@key@withbool{snowman}{sweat}% + \def\sctkzsym@snowman@sweatpath{\path[draw=\sctkzsym@snowman@sweatstroke,fill=\sctkzsym@snowman@sweatfill]}% + % check hat + \sctkzsym@hndl@key@withbool{snowman}{hat}% + \def\sctkzsym@snowman@hatstroke{\sctkzsym@snowman@hat}% + \def\sctkzsym@snowman@hatfill{\sctkzsym@snowman@hat}% + \def\sctkzsym@snowman@hatpath{\path[draw=\sctkzsym@snowman@hatstroke,fill=\sctkzsym@snowman@hatfill]}% + % check arms + \sctkzsym@hndl@key@withbool{snowman}{arms}% + \def\sctkzsym@snowman@armsstroke{\sctkzsym@snowman@arms}% + \def\sctkzsym@snowman@armsfill{\sctkzsym@snowman@arms}% + \def\sctkzsym@snowman@armspath{\path[draw=\sctkzsym@snowman@armsstroke,fill=\sctkzsym@snowman@armsfill]}% + % check muffler + \sctkzsym@hndl@key@withbool{snowman}{muffler}% + \def\sctkzsym@snowman@mufflerpath{\path[draw=\sctkzsym@snowman@mufflerstroke,fill=\sctkzsym@snowman@mufflerfill]}% + % check buttons + \sctkzsym@hndl@key@withbool{snowman}{buttons}% + \def\sctkzsym@snowman@buttonpath{\path[draw=\sctkzsym@snowman@buttonstroke,fill=\sctkzsym@snowman@buttonfill]}% + % check snow + \sctkzsym@hndl@key@withbool{snowman}{snow}% + % + % drawing snowman + \set@sctkzsym@coord@scl{\sctkzsym@snowman@scale}% + \ifdim\sctkzsym@coord@scl<0pt\set@sctkzsym@coord@scl{-\sctkzsym@snowman@scale}\fi% + % + %%%%% input from def file + % + \sctkzsym@snowman@normal + % + %%%%% + % + % key initialization using default + \sctkzsym@snowman@defaultkeys +} +% +% definition of \scsnowmandefault{...} +\newcommand{\scsnowmandefault}[1]{% + \renewcommand{\sctkzsym@snowman@defaultkeys}{% + % key initialization + \sctkzsym@snowman@initkeys + % read <key>=<value> (init=true is silently ignored) + \setkeys{sctkzsym@snowman}{#1,init=false}% + }% + \sctkzsym@snowman@defaultkeys +} +% +% load shape definitions +\input{scsnowman-normal.def} +% +\endinput +%% +%% End of file `scsnowman.sty'. diff --git a/Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty b/Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty new file mode 100644 index 00000000000..1f313f015c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty @@ -0,0 +1,120 @@ +%% +%% This is file `sctkzsym-base.sty', part of scsnowman package. +%% Maintained on GitHub: +%% https://github.com/aminophen/scsnowman +%% +%% Copyright (c) 2015-2016 Hironobu Yamashita +%% Email : h.y.acetaminophen[a t]gmail.com +%% GitHub : https://github.com/aminophen +%% Blog : http://acetaminophen.hatenablog.com/ +%% Twitter : @aminophen +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{sctkzsym-base}[2016/12/22 v1.0 Base for emoji variants using TikZ] +\RequirePackage{tikz} +\RequirePackage{keyval} +% +% prepare for options +\newif\ifsctkzsym@document +\newif\ifsctkzsym@qed +\newif\ifsctkzsym@item +% +% options +\DeclareOption{documentX}{\sctkzsym@documenttrue} +\DeclareOption{nodocumentX}{\sctkzsym@documentfalse} +\DeclareOption{qedX}{\sctkzsym@qedtrue} +\DeclareOption{noqedX}{\sctkzsym@qedfalse} +\DeclareOption{itemX}{\sctkzsym@itemtrue} +\DeclareOption{noitemX}{\sctkzsym@itemfalse} +\ExecuteOptions{documentX,qedX,itemX} +\ProcessOptions\relax +% +% save QED symbol before change (joke) +\ifsctkzsym@qed + \RequirePackage{amsthm} + \ifx\sctkzsym@saved@qedsymbol\@undefined + \let\sctkzsym@saved@qedsymbol\qedsymbol + \fi + \newcommand{\makeqedother}{% + \let\qedsymbol\sctkzsym@saved@qedsymbol + } +\fi +% +% save item label before change (joke) +\ifsctkzsym@item + \let\sctkzsym@saved@labelitemi\labelitemi + \let\sctkzsym@saved@labelitemii\labelitemii + \let\sctkzsym@saved@labelitemiii\labelitemiii + \let\sctkzsym@saved@labelitemiv\labelitemiv + \newcommand{\makeitemother}{% + \let\labelitemi\sctkzsym@saved@labelitemi + \let\labelitemii\sctkzsym@saved@labelitemii + \let\labelitemiii\sctkzsym@saved@labelitemiii + \let\labelitemiv\sctkzsym@saved@labelitemiv + } +\fi +% +% key definitions +\newcommand{\sctkzsym@define@key@withbool}[2]{% + \define@key{sctkzsym@#1}{#2}[true]{\expandafter\def\csname sctkzsym@#1@#2\endcsname{##1}}% + \expandafter\newif\csname ifsctkzsym@#1@#2\endcsname +} +\newcommand{\sctkzsym@define@key@wodefault}[2]{% + \define@key{sctkzsym@#1}{#2}{\expandafter\def\csname sctkzsym@#1@#2\endcsname{##1}}% +} +% +% key handling +\def\sctkzsym@true{true} % for strcmp +\def\sctkzsym@false{false} % for strcmp +\newcommand{\sctkzsym@hndl@key@withbool}[2]{% + \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\sctkzsym@false\relax + \csname sctkzsym@#1@#2false\endcsname % <key>=false + \else + \csname sctkzsym@#1@#2true\endcsname % <key>=true/<color> + \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\sctkzsym@true\relax + % <key>=true; <default-color> + \expandafter\def\csname sctkzsym@#1@#2\endcsname{\sctkzsym@defaultcolor}% + \fi + \fi +} +\newcommand{\sctkzsym@hndl@key@onlybool}[2]{% + \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\sctkzsym@false\relax + \csname sctkzsym@#1@#2false\endcsname % <key>=false + \else + \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\sctkzsym@true\relax + \csname sctkzsym@#1@#2true\endcsname % <key>=true + \else + \PackageError{sctkzsym-base}{Only true/false allowed for key `#2'}\@ehc + \csname sctkzsym@#1@#2false\endcsname % <key>=false + \fi + \fi +} +\newcommand{\sctkzsym@hndl@key@wodefault}[5]{% + \def\@tempa{#3}% + \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\@tempa\relax + \csname sctkzsym@#1@#2@c\endcsname\@ne + \else + \def\@tempa{#4}% + \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\@tempa\relax + \csname sctkzsym@#1@#2@c\endcsname\tw@ + \else + \def\@tempa{#5}% + \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\@tempa\relax + \csname sctkzsym@#1@#2@c\endcsname\thr@@ + \else + \PackageError{sctkzsym-base}{Unsupported value `\csname sctkzsym@#1@#2\endcsname' for #2}\@ehc + \csname sctkzsym@#1@#2@c\endcsname\z@ + \fi + \fi + \fi +} +% +% setup for tikzpicture +\newlength{\sctkzsym@coord@scl} +\newcommand*{\set@sctkzsym@coord@scl}[1]{\pgfmathsetlength{\sctkzsym@coord@scl}{#1pt}} +\newcommand{\sctkzsym@defaultcolor}{black} +\newcommand{\sctkzsym@defaultanticolor}{white} +% +\endinput +%% +%% End of file `sctkzsym-base.sty'. |