diff options
Diffstat (limited to 'language/japanese/jlreq/jlreq-helpers.sty')
-rw-r--r-- | language/japanese/jlreq/jlreq-helpers.sty | 119 |
1 files changed, 61 insertions, 58 deletions
diff --git a/language/japanese/jlreq/jlreq-helpers.sty b/language/japanese/jlreq/jlreq-helpers.sty index 83251193bb..5d6ae8791c 100644 --- a/language/japanese/jlreq/jlreq-helpers.sty +++ b/language/japanese/jlreq/jlreq-helpers.sty @@ -1,8 +1,8 @@ % エンジン非依存のマクロ集 \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{jlreq-helpers}[2018/08/15 jlreq-helpers] -\RequirePackage{xkeyval,etoolbox} +\ProvidesPackage{jlreq-helpers}[2021/07/22 jlreq-helpers] +\RequirePackage{etoolbox} %. helper1 \newcount\jlreq@tempcnta @@ -210,53 +210,53 @@ % *{key}{\def\val{#1}} % デフォルト値を空文字列にする % {key}[choice1,choice2]{\def\valchoice{#1}} %}{parse対象} -\newcommand*{\jlreq@parsekeyval}{% - \@ifstar{\jlreq@helper@parsekeyval@{*}}{\jlreq@helper@parsekeyval@{}}% -} -\def\jlreq@helper@parsekeyval@#1{% - \@ifnextchar[{\jlreq@helper@parsekeyval@@{#1}}{\jlreq@helper@parsekeyval@@{#1}[jlreq@key]}% -} -\long\def\jlreq@helper@parsekeyval@@#1[#2]#3#4{% - \begingroup - \def\jlreq@do{}% \setkeysの結果処理がここに入れられる(よってループ内で利用不可) - \jlreq@helper@parsekeyval@@@{#2}#3{\jlreq@endmark}% - \setkeys#1{#2}{#4}% - \expandafter\endgroup - \jlreq@do -} -\def\jlreq@helper@parsekeyval@@@#1#2#{% - \jlreq@iffirsttoken@ignorespaces{#2}{*}{% - \jlreq@helper@parsekeyval@@@definekeywithdefault{#1}% - }{% - \jlreq@helper@parsekeyval@@@@{#1}% - }% -} -\long\def\jlreq@helper@parsekeyval@@@@#1#2{% - \jlreq@ifendmark{#2}{}{% - \@ifnextchar[{\jlreq@helper@parsekeyval@@@choicekey{#1}{#2}}{\jlreq@helper@parsekeyval@@@definekey{#1}{#2}}% - }% -} -\long\def\jlreq@helper@parsekeyval@@@choicekey#1#2[#3]#4{% - \@for\@tempa:=#2\do{% - \edef\jlreq@next{\unexpanded{\define@choicekey{#1}}{\expandonce{\@tempa}}}% - \jlreq@next{#3}{\eappto\jlreq@do{\unexpanded{#4}}}% - }% - \jlreq@helper@parsekeyval@@@{#1}% -} -\long\def\jlreq@helper@parsekeyval@@@definekeywithdefault#1#2#3{% - \@for\@tempa:=#2\do{% - \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}% - \jlreq@next[]{\eappto\jlreq@do{\unexpanded{#3}}}% - }% - \jlreq@helper@parsekeyval@@@{#1}% -} -\long\def\jlreq@helper@parsekeyval@@@definekey#1#2#3{% - \@for\@tempa:=#2\do{% - \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}% - \jlreq@next{\eappto\jlreq@do{\unexpanded{#3}}}% - }% - \jlreq@helper@parsekeyval@@@{#1}% -} +%\newcommand*{\jlreq@parsekeyval}{% +% \@ifstar{\jlreq@helper@parsekeyval@{*}}{\jlreq@helper@parsekeyval@{}}% +%} +%\def\jlreq@helper@parsekeyval@#1{% +% \@ifnextchar[{\jlreq@helper@parsekeyval@@{#1}}{\jlreq@helper@parsekeyval@@{#1}[jlreq@key]}% +%} +%\long\def\jlreq@helper@parsekeyval@@#1[#2]#3#4{% +% \begingroup +% \def\jlreq@do{}% \setkeysの結果処理がここに入れられる(よってループ内で利用不可) +% \jlreq@helper@parsekeyval@@@{#2}#3{\jlreq@endmark}% +% \setkeys#1{#2}{#4}% +% \expandafter\endgroup +% \jlreq@do +%} +%\def\jlreq@helper@parsekeyval@@@#1#2#{% +% \jlreq@iffirsttoken@ignorespaces{#2}{*}{% +% \jlreq@helper@parsekeyval@@@definekeywithdefault{#1}% +% }{% +% \jlreq@helper@parsekeyval@@@@{#1}% +% }% +%} +%\long\def\jlreq@helper@parsekeyval@@@@#1#2{% +% \jlreq@ifendmark{#2}{}{% +% \@ifnextchar[{\jlreq@helper@parsekeyval@@@choicekey{#1}{#2}}{\jlreq@helper@parsekeyval@@@definekey{#1}{#2}}% +% }% +%} +%\long\def\jlreq@helper@parsekeyval@@@choicekey#1#2[#3]#4{% +% \@for\@tempa:=#2\do{% +% \edef\jlreq@next{\unexpanded{\define@choicekey{#1}}{\expandonce{\@tempa}}}% +% \jlreq@next{#3}{\eappto\jlreq@do{\unexpanded{#4}}}% +% }% +% \jlreq@helper@parsekeyval@@@{#1}% +%} +%\long\def\jlreq@helper@parsekeyval@@@definekeywithdefault#1#2#3{% +% \@for\@tempa:=#2\do{% +% \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}% +% \jlreq@next[]{\eappto\jlreq@do{\unexpanded{#3}}}% +% }% +% \jlreq@helper@parsekeyval@@@{#1}% +%} +%\long\def\jlreq@helper@parsekeyval@@@definekey#1#2#3{% +% \@for\@tempa:=#2\do{% +% \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}% +% \jlreq@next{\eappto\jlreq@do{\unexpanded{#3}}}% +% }% +% \jlreq@helper@parsekeyval@@@{#1}% +%} % キー指定しないkeyval(独自実装) % \jlreq@parsekeyval@nokey{<action>}{<parse対象>} @@ -449,17 +449,20 @@ \ifx\@tempa\@tempb\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } +\ExplSyntaxOn \newcommand*{\jlreq@helper@guessengine}{% - \jlreq@ifprimitive\directlua{% - \let\jlreq@result=l% - }{% - \jlreq@ifprimitive\ucs{% - \let\jlreq@result=u% - }{% - \let\jlreq@result=p% - }% - }% + \token_if_primitive:NTF \directlua { + \let\jlreq@result=l + }{ + \let\jlreq@result=p + \token_if_primitive:NT \ucs { + \int_compare:nT { \ucs"FA4A = "FA4A } { + \let\jlreq@result=u + } + } + } } +\ExplSyntaxOff % #1を\@undefinedに,既に\@undefinedならば#2{#1}を呼ぶ \newcommand*{\jlreq@helper@undefcs}[2]{% |