summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/scsnowman/sctkzsym-base.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/pgf/contrib/scsnowman/sctkzsym-base.sty
Initial commit
Diffstat (limited to 'graphics/pgf/contrib/scsnowman/sctkzsym-base.sty')
-rw-r--r--graphics/pgf/contrib/scsnowman/sctkzsym-base.sty150
1 files changed, 150 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/scsnowman/sctkzsym-base.sty b/graphics/pgf/contrib/scsnowman/sctkzsym-base.sty
new file mode 100644
index 0000000000..9bb904b40f
--- /dev/null
+++ b/graphics/pgf/contrib/scsnowman/sctkzsym-base.sty
@@ -0,0 +1,150 @@
+%%
+%% This is file `sctkzsym-base.sty', part of scsnowman package.
+%% Maintained on GitHub:
+%% https://github.com/aminophen/scsnowman
+%%
+%% Copyright (c) 2015-2018 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}[2018/01/15 v1.2c Base for emoji variants using TikZ]
+\RequirePackage{tikz}
+\RequirePackage{keyval}
+%
+\ifx\kanjiskip\@undefined\else
+ \IfFileExists{pxeveryshi.sty}{\RequirePackage{pxeveryshi}}{}
+\fi
+%
+% 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
+ \def\sctkzsym@saving@qedsymbol{%
+ \ifx\qedsymbol\@undefined\else
+ \let\sctkzsym@saved@qedsymbol\qedsymbol
+ \fi
+ }
+ % if `amsthm' is already loaded, save it now
+ \sctkzsym@saving@qedsymbol
+ % otherwise, saving is delayed till \begin{document}
+ % (hope \makeqed... is not already executed...)
+ \ifx\sctkzsym@saved@qedsymbol\@undefined
+ \AtBeginDocument{\sctkzsym@saving@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
+% * any value; if none, 'true' is assumed
+\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
+}
+% * any value; if none, an error will be raised
+\newcommand{\sctkzsym@define@key@wodefault}[2]{%
+ \define@key{sctkzsym@#1}{#2}{\expandafter\def\csname sctkzsym@#1@#2\endcsname{##1}}%
+}
+% * one from arg #3; arg #3 should be comma-separated list of candidates
+\newcommand{\sctkzsym@define@key@withword}[3]{%
+ \define@key{sctkzsym@#1}{#2}{\expandafter\def\csname sctkzsym@#1@#2\endcsname{##1}}%
+ % register known values (used in key handling)
+ \sctkzsym@hndlcnt\z@
+ \edef\@tempa{\zap@space#3 \@empty}%
+ \@for\@tempa:=\@tempa\do{%
+ \advance\sctkzsym@hndlcnt\@ne
+ \expandafter\let\csname sctkzsym@#1@#2@\romannumeral\sctkzsym@hndlcnt\endcsname\@tempa}%
+}
+% other known values (used in key handling)
+\def\sctkzsym@true{true} % for bool strcmp
+\def\sctkzsym@false{false} % for bool strcmp
+%
+% key handling
+\newcount\sctkzsym@hndlcnt % for withword loop
+\let\sctkzsym@status\relax % for withword status
+\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{sc#1}{Only true/false allowed for key `#2'}\@ehc
+ \csname sctkzsym@#1@#2false\endcsname % <key>=false
+ \fi
+ \fi
+}
+\newcommand{\sctkzsym@hndl@key@withword}[2]{%
+ % initialize
+ \@tempcnta\@ne
+ \let\sctkzsym@status\relax
+ % check through the registered candidate values
+ \loop\expandafter\ifx\csname sctkzsym@#1@#2@\romannumeral\@tempcnta\endcsname\relax\else
+ \ifx\sctkzsym@status\relax
+ \expandafter\ifx\csname sctkzsym@#1@#2\expandafter\endcsname
+ \csname sctkzsym@#1@#2@\romannumeral\@tempcnta\endcsname\relax
+ \def\sctkzsym@status{0}%
+ \fi
+ \fi
+ \advance\@tempcnta\@ne
+ \repeat
+ % if the status is still not zero, user-specified value is invalid; throw an error
+ \ifx\sctkzsym@status\relax
+ \PackageError{sc#1}{Unsupported value `\csname sctkzsym@#1@#2\endcsname' for #2}\@ehc
+ \fi
+}
+%
+% setup for tikzpicture
+\newlength{\sctkzsym@coord@baseline}
+\newlength{\sctkzsym@coord@scl}
+\newcommand*{\set@sctkzsym@coord@scl}[1]{\pgfmathsetlength{\sctkzsym@coord@scl}{#1\p@}}
+\newcommand{\sctkzsym@beginyokobox}{\ifx\tate\@undefined\else\leavevmode\hbox\bgroup\yoko\fi}
+\newcommand{\sctkzsym@endyokobox}{\ifx\tate\@undefined\else\egroup\fi}
+\newcommand{\sctkzsym@defaultcolor}{}
+\newcommand{\sctkzsym@defaultanticolor}{white}
+%
+\endinput
+%%
+%% End of file `sctkzsym-base.sty'.