texlive[44984] Master/texmf-dist: scsnowman (8aug17)

commits+karl at tug.org commits+karl at tug.org
Tue Aug 8 22:38:40 CEST 2017


Revision: 44984
          http://tug.org/svn/texlive?view=revision&revision=44984
Author:   karl
Date:     2017-08-08 22:38:40 +0200 (Tue, 08 Aug 2017)
Log Message:
-----------
scsnowman (8aug17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman-sample.pdf
    trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman-sample.tex
    trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman.pdf
    trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman.tex
    trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def
    trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty
    trunk/Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty

Modified: trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman-sample.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman-sample.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman-sample.tex	2017-08-08 20:38:28 UTC (rev 44983)
+++ trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman-sample.tex	2017-08-08 20:38:40 UTC (rev 44984)
@@ -11,6 +11,7 @@
 %%
 % platex + dvipdfmx
 \documentclass[dvipdfmx,twocolumn]{jsarticle}
+\usepackage{plext}
 \usepackage[margin=21truemm]{geometry}
 \usepackage[svgnames]{xcolor}
 \usepackage{scsnowman}
@@ -46,7 +47,7 @@
 \begin{table}[htb]
   \begin{tabular}{ccc}
     \texttt{U+2603} & \texttt{U+26C4} & \texttt{U+26C7} \\
-    \texttt{SNOWMAN} & \texttt{SNOWMAN WITHOUT SNOW} & \texttt{BLACK SNOWMAN} \\
+    \texttt{\small SNOWMAN} & \texttt{\small SNOWMAN WITHOUT SNOW} & \texttt{\small BLACK SNOWMAN} \\
     \scsnowman[scale=5,body=false,snow=true] & \scsnowman[scale=5,body=false,snow=false] & \scsnowman[scale=5,body=true,snow=true]
   \end{tabular}
 \end{table}
@@ -54,7 +55,7 @@
 \begin{table}[htb]
   \begin{tabular}{ccc}
     \texttt{U+2603} & \texttt{U+26C4} & \texttt{U+26C7} \\
-    \texttt{SNOWMAN} & \texttt{SNOWMAN WITHOUT SNOW} & \texttt{BLACK SNOWMAN} \\
+    \texttt{\small SNOWMAN} & \texttt{\small SNOWMAN WITHOUT SNOW} & \texttt{\small BLACK SNOWMAN} \\
     \scsnowman[scale=5,body=false,snow=true,muffler=true] & \scsnowman[scale=5,body=false,snow=false,muffler=true] & \scsnowman[scale=5,body=true,snow=true,muffler=true]
   \end{tabular}
 \end{table}
@@ -62,7 +63,7 @@
 \begin{table}[htb]
   \begin{tabular}{ccc}
     \texttt{U+2603} & \texttt{U+26C4} & \texttt{U+26C7} \\
-    \texttt{SNOWMAN} & \texttt{SNOWMAN WITHOUT SNOW} & \texttt{BLACK SNOWMAN} \\
+    \texttt{\small SNOWMAN} & \texttt{\small SNOWMAN WITHOUT SNOW} & \texttt{\small BLACK SNOWMAN} \\
     \scsnowman[scale=5,body=false,snow=true,hat=true,arms=true] & \scsnowman[scale=5,body=false,snow=false,hat=true,arms=true] & \scsnowman[scale=5,body=true,snow=true,hat=true,arms=true]
   \end{tabular}
 \end{table}
@@ -70,11 +71,17 @@
 \begin{table}[htb]
   \begin{tabular}{ccc}
     \texttt{U+????} & \texttt{U+????} & \texttt{U+????} \\
-    \texttt{RED SNOWMAN} & \texttt{BLUE SNOWMAN} & \texttt{GREEN SNOWMAN} \\
+    \texttt{\small RED SNOWMAN} & \texttt{\small BLUE SNOWMAN} & \texttt{\small GREEN SNOWMAN} \\
     \scsnowman[scale=5,body=red,snow=red,hat=red] & \scsnowman[scale=5,body=blue,hat=blue,arms=blue,muffler=blue] & \scsnowman[scale=5,body=green,snow=green,arms=green]
   \end{tabular}
 \end{table}
 
+% 周囲の色に追随
+テキストが黒色の場合\scsnowman[hat,muffler=red]、
+{\color{blue}テキストが青色の場合\scsnowman[hat,muffler=red]、
+{\color{green}テキストが緑色の場合\scsnowman[hat,muffler=red]}}、
+元通り\scsnowman[hat,muffler=red]。
+
 \newpage
 
 \scsnowmandefault{body,hat,snow,muffler}%
@@ -88,19 +95,18 @@
 ただし、\scsnowman[hat=red]のように帽子に色が付いた宛名を見ると、
 白\scsnowman さんは喜んでいました。
 
+\medskip
 % buttons で「ボタン」(マフラーの有無で微妙に位置が変わる)
-\scsnowmandefault{scale=5,hat=Green,arms=Brown,snow=SkyBlue}
-\scsnowman[buttons=RoyalBlue,muffler=Red]
-\scsnowman[buttons=RoyalBlue]
-
+\scsnowmandefault{scale=4,hat=Green,arms=Brown,snow=SkyBlue}%
+\scsnowman[buttons=RoyalBlue,muffler=Red]%
+\scsnowman[buttons=RoyalBlue]%
 % mouthshape で「口の形」
-\scsnowmandefault{scale=5,hat,muffler=Red}
+\scsnowmandefault{scale=4,hat,muffler=Red}%
 \scsnowman[mouthshape=smile]% にっこり
 \scsnowman[mouthshape=frown]% しかめっ面
 \scsnowman[mouthshape=tight]% 真一文字
-
 % sweat で「汗」
-\scsnowmandefault{scale=5,hat}
+\scsnowmandefault{scale=4,hat}%
 \scsnowman[mouthshape=tight,arms,buttons,sweat]
 
 ゆきだるまで箇条書き:
@@ -128,6 +134,8 @@
 \end{itemize}
 \makeitemother
 
+\medskip
+\begin{minipage}{16zw}
 ベースラインの調節なし:\par
 Text,
 \scsnowman[scale=1]%
@@ -140,5 +148,12 @@
 \scsnowman[adjustbaseline,scale=4]%
 \scsnowman[adjustbaseline,scale=7],
 T.
+\end{minipage}\quad
+\begin{minipage}<t>{12zw}
+\scsnowmandefault{}
+縦書ーきで\scsnowman[hat,muffler=red]のテスト。
+私の大好きな\scsnowman[scale=2,muffler]\scsnowman[scale=2,hat]がたくさん。
+{\color{red}色が\scsnowman[body]ついても、勿論大丈夫。}
+\end{minipage}
 
 \end{document}

Modified: trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman.tex	2017-08-08 20:38:28 UTC (rev 44983)
+++ trunk/Master/texmf-dist/doc/latex/scsnowman/scsnowman.tex	2017-08-08 20:38:40 UTC (rev 44984)
@@ -205,15 +205,20 @@
 \subsection{Design Options}
 
 Following \emph{key}s take a \emph{value} which specifies color. When the \emph{value} is omitted,
-the default color, black or white, will be used:
+it reacts to the surrounding text color:
 \begin{quote}
   \Lopt{body}, \Lopt{eyes}, \Lopt{mouth}, \Lopt{sweat},
   \Lopt{hat}, \Lopt{arms}, \Lopt{muffler}, \Lopt{buttons}, \Lopt{snow}
 \end{quote}
-The following \emph{key} require one specific \emph{value}:
+The following \emph{key}s require one specific \emph{value}:
 \begin{quote}
-  \Lopt{mouthshape}
+  \Lopt{shape}, \Lopt{mouthshape}
 \end{quote}
+
+The key \Lopt{shape} specifies the outline shape of the snowman body.
+Currently, only \Lopt{shape=normal} is officially available, but you can define and use other shapes
+using \verb+\usescsnowmanlibrary+ command (described later, section \ref{usescsnowmanlibrary}).
+
 The key \Lopt{mouthshape} takes one of the followings: \Lopt{smile}, \Lopt{tight} or \Lopt{frown}.
 
 Here are some examples:\\[1ex]
@@ -220,8 +225,8 @@
 \begin{minipage}{.7\textwidth}\begin{verbatim}
   \scsnowman[scale=2,body,hat=red,muffler=blue]
   \scsnowman[scale=3,hat,snow,arms,buttons]
-  \scsnowman[scale=3,mouthshape=tight,muffler=red]
-  \scsnowman[scale=3,mouthshape=frown,hat=green]
+  \scsnowman[scale=2,mouthshape=tight,muffler=red]
+  \scsnowman[scale=2,mouthshape=frown,hat=green]
 \end{verbatim}\end{minipage}
 \begin{minipage}{.25\textwidth}
   \scsnowman[scale=2,body,hat=red,muffler=blue]
@@ -228,6 +233,20 @@
   \scsnowman[scale=3,hat,snow,arms,buttons]
   \scsnowman[scale=2,mouthshape=tight,muffler=red]
   \scsnowman[scale=2,mouthshape=frown,hat=green]
+\end{minipage}\\[1ex]
+\begin{minipage}{.7\textwidth}\begin{verbatim}
+ {\color{blue}
+  \scsnowman[scale=2,body,hat=red,muffler=blue]
+  \scsnowman[scale=3,hat,snow,arms,buttons]
+  \scsnowman[scale=2,mouthshape=tight,muffler=red]
+  \scsnowman[scale=2,mouthshape=frown,hat=green]}
+\end{verbatim}\end{minipage}
+\begin{minipage}{.25\textwidth}
+ {\color{blue}
+  \scsnowman[scale=2,body,hat=red,muffler=blue]
+  \scsnowman[scale=3,hat,snow,arms,buttons]
+  \scsnowman[scale=2,mouthshape=tight,muffler=red]
+  \scsnowman[scale=2,mouthshape=frown,hat=green]}
 \end{minipage}
 
 \section{Changing the Default}
@@ -241,7 +260,7 @@
 
 Here are some examples:\\[1ex]
 \begin{minipage}{.6\textwidth}\begin{verbatim}
-  \scsnowmandefault{scale=3,hat=red}
+  \scsnowmandefault{scale=5,hat=red}
   \scsnowman
   \scsnowman[body,muffler=blue]
   \scsnowman[hat=green,snow]
@@ -253,6 +272,24 @@
   \scsnowman[hat=green,snow]
 \end{minipage}
 
+\section{Adding User-defined Snowman Shapes}\label{usescsnowmanlibrary}
+
+Any users can define and use custom snowman shape definitions.
+Here is a description of adding a shape named \Lopt{myfavorite}.
+\begin{enumerate}
+  \item Prepare a snowman definition file \texttt{scsnowman-myfavorite.def}
+    and put it into \verb+$TEXMF+ tree (e.g. \verb+texmf-local/tex/latex/scsnowman/+).
+    For the format of snowman definition files, please refer to \texttt{scsnowman-normal.def}.
+  \item Use \verb+\usescsnowmanlibrary+ command (don't forget \emph{sc}!) to load it.
+\begin{verbatim}
+  \usepackage{scsnowman}
+  \usescsnowmanlibrary{myfavorite}
+\end{verbatim}
+  \item You can use the shape by \verb+\scsnowman[shape=myfavorite]+ command.
+\end{enumerate}
+If you have created a fancy snowman, please contact me, so that I can incorporate it
+into the official release!
+
 \section{Changing Item Labels and QED Symbols}
 
 For those who want more snowmen in the documents, currently \Lpack{scsnowman} provides
@@ -335,6 +372,8 @@
 The names of these commands are, of course, named after the \LaTeX\ \verb+\makeatletter+
 and \verb+\makeatother+;-)
 
+\newpage
+
 \section*{Version History}
 
 This is the summary of changes. For more detail, see GitHub repository.
@@ -345,7 +384,12 @@
 Version 0.8 & 2016-08-08 & Second public version on GitHub: \\
             &            & new variants \Lopt{buttons}, \Lopt{mouthshape}, \Lopt{sweat} are added \\
 Version 1.0 & 2016-12-22 & First CTAN release \\
-Version 1.1 & 2017-01-22 & Add new key \Lopt{adjustbaseline}, documentation update
+Version 1.1 & 2017-01-22 & Add a new key \Lopt{adjustbaseline} \\
+            &            & Update documentation \\
+Version 1.2 & 2017-08-08 & Default color reacts to surrounding text color \\
+            &            & Support vertical writing on (u)p\TeX\ and Lua\TeX-ja \\
+            &            & Add a new key \Lopt{shape} \\
+            &            & Add a new command \verb+\usescsnowmanlibrary+
 \end{tabular}
 \end{table}
 

Modified: trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def	2017-08-08 20:38:28 UTC (rev 44983)
+++ trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman-normal.def	2017-08-08 20:38:40 UTC (rev 44984)
@@ -10,8 +10,8 @@
 %%   Twitter :  @aminophen
 %%
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{scsnowman-normal.def}[2017/01/22 v1.1 scsnowman definition (normal)]
-\def\sctkzsym at snowman@normal{%
+\ProvidesFile{scsnowman-normal.def}[2017/08/08 v1.2 scsnowman definition (normal)]
+\def\sctkzsym at snowman@shape at normal{%
   \setlength{\sctkzsym at coord@baseline}{%
     \ifsctkzsym at snowman@adjustbaseline
       \dimexpr0.144ex*\sctkzsym at snowman@scale\relax
@@ -18,6 +18,7 @@
     \else
       \z@
     \fi}%
+  \sctkzsym at beginyokobox
   \begin{tikzpicture}[x=1.8ex,y=1.8ex,line width=0.025ex*\sctkzsym at coord@scl,line join=round,line cap=round,scale=\sctkzsym at snowman@scale,baseline=\sctkzsym at coord@baseline]
     \useasboundingbox(0,0) rectangle (1,1);
       \sctkzsym at snowman@bodypath % body (IPA-like)
@@ -37,9 +38,9 @@
       \sctkzsym at snowman@eyepath (0.60,0.56) circle (0.02 and 0.03);
     \fi
     \ifsctkzsym at snowman@mouth
-    \expandafter\ifnum\csname sctkzsym at snowman@mouthshape at c\endcsname=\thr@@
+    \ifx\sctkzsym at snowman@mouthshape\sctkzsym at snowman@mouthshape at iii
       \sctkzsym at snowman@mouthpath (0.40,0.47) -- (0.60,0.47);
-    \else\expandafter\ifnum\csname sctkzsym at snowman@mouthshape at c\endcsname=\tw@
+    \else\ifx\sctkzsym at snowman@mouthshape\sctkzsym at snowman@mouthshape at ii
       \sctkzsym at snowman@mouthpath (0.40,0.46) .. controls (0.45,0.49) and (0.55,0.49) .. (0.60,0.46);
     \else
       \sctkzsym at snowman@mouthpath (0.40,0.48) .. controls (0.45,0.45) and (0.55,0.45) .. (0.60,0.48);
@@ -115,6 +116,7 @@
       \sctkzsym at snowman@snowpath (0.94,0.23) circle (0.04);
     \fi
   \end{tikzpicture}%
+  \sctkzsym at endyokobox
 }
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty	2017-08-08 20:38:28 UTC (rev 44983)
+++ trunk/Master/texmf-dist/tex/latex/scsnowman/scsnowman.sty	2017-08-08 20:38:40 UTC (rev 44984)
@@ -10,10 +10,10 @@
 %%   Twitter :  @aminophen
 %%
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{scsnowman}[2017/01/22 v1.1 Snowman variants using TikZ]
+\ProvidesPackage{scsnowman}[2017/08/08 v1.2 Snowman variants using TikZ]
 \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sctkzsym-base}}
 \ProcessOptions\relax
-\RequirePackage{sctkzsym-base}[2017/01/22]
+\RequirePackage{sctkzsym-base}[2017/08/08]
 %
 % make document snowman (joke)
 \ifsctkzsym at document
@@ -106,6 +106,7 @@
 \newcommand\sctkzsym at snowman@initkeys{%
   \def\sctkzsym at snowman@init{false}%
   \def\sctkzsym at snowman@scale{1}%
+  \def\sctkzsym at snowman@shape{normal}%
   \def\sctkzsym at snowman@body{false}%
   \def\sctkzsym at snowman@eyes{true}%  default on
   \def\sctkzsym at snowman@mouthshape{smile}%
@@ -126,9 +127,10 @@
 % key definitions
 \sctkzsym at define@key at withbool{snowman}{init}
 \sctkzsym at define@key at wodefault{snowman}{scale}
+\sctkzsym at define@key at wodefault{snowman}{shape}
 \sctkzsym at define@key at withbool{snowman}{body}
 \sctkzsym at define@key at withbool{snowman}{eyes}
-\sctkzsym at define@key at wodefault{snowman}{mouthshape}
+\sctkzsym at define@key at withword{snowman}{mouthshape}{smile,frown,tight}
 \sctkzsym at define@key at withbool{snowman}{mouth}
 \sctkzsym at define@key at withbool{snowman}{sweat}
 \sctkzsym at define@key at withbool{snowman}{hat}
@@ -138,9 +140,6 @@
 \sctkzsym at define@key at withbool{snowman}{snow}
 \sctkzsym at define@key at withbool{snowman}{adjustbaseline}
 %
-% count definitions for \sctkzsym at hndl@key at wodefault
-\newcount\sctkzsym at snowman@mouthshape at c
-%
 % definition of \scsnowman[...]
 \DeclareRobustCommand\scsnowman[1][]{%
   % key initialization using default
@@ -191,7 +190,7 @@
   \sctkzsym at hndl@key at withbool{snowman}{eyes}%
   \def\sctkzsym at snowman@eyepath{\path[fill=\sctkzsym at snowman@eyefill]}%
   % check mouth (currently mouth=<color> not supported; falling back to default-(anti)color)
-  \sctkzsym at hndl@key at wodefault{snowman}{mouthshape}{smile}{frown}{tight}%
+  \sctkzsym at hndl@key at withword{snowman}{mouthshape}%
   \sctkzsym at hndl@key at withbool{snowman}{mouth}%
   \def\sctkzsym at snowman@mouthpath{\path[draw=\sctkzsym at snowman@mouthstroke]}%
   % check sweat
@@ -220,11 +219,16 @@
   %
   % drawing snowman
   \set at sctkzsym@coord at scl{\sctkzsym at snowman@scale}%
-  \ifdim\sctkzsym at coord@scl<0pt\set at sctkzsym@coord at scl{-\sctkzsym at snowman@scale}\fi%
+  \ifdim\sctkzsym at coord@scl<\z@\set at sctkzsym@coord at scl{-\sctkzsym at snowman@scale}\fi%
   %
   %%%%% input from def file
   %
-  \sctkzsym at snowman@normal
+  \expandafter\ifx\csname sctkzsym at snowman@shape@\sctkzsym at snowman@shape\endcsname\relax
+    \PackageError{scsnowman}{%
+      Unsupported value `\sctkzsym at snowman@shape' for shape}\@ehc
+  \else
+    \csname sctkzsym at snowman@shape@\sctkzsym at snowman@shape\endcsname
+  \fi
   %
   %%%%%
   %
@@ -243,8 +247,18 @@
   \sctkzsym at snowman@defaultkeys
 }
 %
+% definition of \usescsnowmanlibrary{...}
+\newcommand{\usescsnowmanlibrary}[1]{%
+  \edef\@tempa{\zap at space#1 \@empty}%
+  \@for\@tempa:=\@tempa\do{%
+    \chardef\sctkzsym at catcode=\catcode`\@\relax
+    \makeatletter\input{scsnowman-\@tempa.def}%
+    \catcode`\@=\sctkzsym at catcode\relax}%
+}
+\@onlypreamble\usescsnowmanlibrary
+%
 % load shape definitions
-\input{scsnowman-normal.def}
+\usescsnowmanlibrary{normal}% default
 %
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty	2017-08-08 20:38:28 UTC (rev 44983)
+++ trunk/Master/texmf-dist/tex/latex/scsnowman/sctkzsym-base.sty	2017-08-08 20:38:40 UTC (rev 44984)
@@ -10,10 +10,14 @@
 %%   Twitter :  @aminophen
 %%
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{sctkzsym-base}[2017/01/22 v1.1 Base for emoji variants using TikZ]
+\ProvidesPackage{sctkzsym-base}[2017/08/08 v1.2 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 at document
 \newif\ifsctkzsym at qed
@@ -55,17 +59,32 @@
 \fi
 %
 % key definitions
+%  * any value; if none, 'true' is assumed
 \newcommand{\sctkzsym at define@key at withbool}[2]{%
   \define at 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 at define@key at wodefault}[2]{%
   \define at 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 at define@key at withword}[3]{%
+  \define at key{sctkzsym@#1}{#2}{\expandafter\def\csname sctkzsym@#1@#2\endcsname{##1}}%
+  % register known values (used in key handling)
+  \sctkzsym at hndlcnt\z@
+  \edef\@tempa{\zap at space#3 \@empty}%
+  \@for\@tempa:=\@tempa\do{%
+    \advance\sctkzsym at hndlcnt\@ne
+    \expandafter\let\csname sctkzsym@#1@#2@\romannumeral\sctkzsym at hndlcnt\endcsname\@tempa}%
+}
+% other known values (used in key handling)
+\def\sctkzsym at true{true}   % for bool strcmp
+\def\sctkzsym at false{false} % for bool strcmp
 %
 % key handling
-\def\sctkzsym at true{true}   % for strcmp
-\def\sctkzsym at false{false} % for strcmp
+\newcount\sctkzsym at hndlcnt % for withword loop
+\let\sctkzsym at status\relax % for withword status
 \newcommand{\sctkzsym at hndl@key at withbool}[2]{%
   \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\sctkzsym at false\relax
     \csname sctkzsym@#1@#2false\endcsname % <key>=false
@@ -89,23 +108,23 @@
     \fi
   \fi
 }
-\newcommand{\sctkzsym at hndl@key at wodefault}[5]{%
-  \def\@tempa{#3}%
-  \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\@tempa\relax
-    \csname sctkzsym@#1@#2 at c\endcsname\@ne
-  \else
-    \def\@tempa{#4}%
-    \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\@tempa\relax
-      \csname sctkzsym@#1@#2 at c\endcsname\tw@
-    \else
-      \def\@tempa{#5}%
-      \expandafter\ifx\csname sctkzsym@#1@#2\endcsname\@tempa\relax
-        \csname sctkzsym@#1@#2 at c\endcsname\thr@@
-      \else
-        \PackageError{sc#1}{Unsupported value `\csname sctkzsym@#1@#2\endcsname' for #2}\@ehc
-        \csname sctkzsym@#1@#2 at c\endcsname\z@
+\newcommand{\sctkzsym at hndl@key at withword}[2]{%
+  % initialize
+  \@tempcnta\@ne
+  \let\sctkzsym at status\relax
+  % check through the registered candidate values
+  \loop\expandafter\ifx\csname sctkzsym@#1@#2@\romannumeral\@tempcnta\endcsname\relax\else
+    \ifx\sctkzsym at status\relax
+      \expandafter\ifx\csname sctkzsym@#1@#2\expandafter\endcsname
+        \csname sctkzsym@#1@#2@\romannumeral\@tempcnta\endcsname\relax
+          \def\sctkzsym at 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 at status\relax
+    \PackageError{sc#1}{Unsupported value `\csname sctkzsym@#1@#2\endcsname' for #2}\@ehc
   \fi
 }
 %
@@ -112,8 +131,10 @@
 % setup for tikzpicture
 \newlength{\sctkzsym at coord@baseline}
 \newlength{\sctkzsym at coord@scl}
-\newcommand*{\set at sctkzsym@coord at scl}[1]{\pgfmathsetlength{\sctkzsym at coord@scl}{#1pt}}
-\newcommand{\sctkzsym at defaultcolor}{black}
+\newcommand*{\set at sctkzsym@coord at scl}[1]{\pgfmathsetlength{\sctkzsym at coord@scl}{#1\p@}}
+\newcommand{\sctkzsym at beginyokobox}{\ifx\tate\@undefined\else\leavevmode\hbox\bgroup\yoko\fi}
+\newcommand{\sctkzsym at endyokobox}{\ifx\tate\@undefined\else\egroup\fi}
+\newcommand{\sctkzsym at defaultcolor}{}
 \newcommand{\sctkzsym at defaultanticolor}{white}
 %
 \endinput



More information about the tex-live-commits mailing list