diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/jpneduenumerate/jpneduenumerate.sty | 261 |
1 files changed, 261 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/jpneduenumerate/jpneduenumerate.sty b/Master/texmf-dist/tex/latex/jpneduenumerate/jpneduenumerate.sty new file mode 100644 index 00000000000..fa09f9b0304 --- /dev/null +++ b/Master/texmf-dist/tex/latex/jpneduenumerate/jpneduenumerate.sty @@ -0,0 +1,261 @@ +%% +%% jpneduenumerate.sty +%% for making handouts of Japanese high school mathematics +%% +%% Copyright (C) 2022 Yukoh KUSAKABE (screen-name) +%% https://www.metaphysica.info/ +%% https://twitter.com/metaphysicainfo +%% +%% This package released under +%% [the MIT license](https://ctan.org/license/mit). +%% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{jpneduenumerate}[2022/06/29 v1.0] +% +% %% \if@jpneduenumerate@meaning +% \newif\if@jpneduenumerate@meaning +% \@jpneduenumerate@meaningfalse +% % +% %% [meaning] +% \DeclareOption{meaning}{\@jpneduenumerate@meaningtrue} +% % +% \ExecuteOptions{} +% \ProcessOptions\relax +% +%% replace defaluts +% for \setlist +\RequirePackage{enumitem} +% +% for \getrefnumber +\RequirePackage{refcount} +% +% for \ajroman \ajRoman +\RequirePackage{otf} +% +% +% If you do not use pLaTeX, LaTeX cannot use 'zw'. +% In that case, please write \usepackage{bxjacalcux}. +\setlist{nosep,leftmargin=2zw,itemindent=1zw,labelsep=1.15zw,listparindent=1zw} +\setlist[itemize,1]{label=\textbf{\textperiodcentered}} +\renewcommand{\labelenumi}{(\arabic{enumi})} +\renewcommand{\labelenumii}{(\alph{enumii})} +%% +% +% Asterisked envionments don't have parindent. +% +%% \begin{itemize*} +\newenvironment{itemize*}% +{\begin{itemize}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]}% +{\end{itemize}} +% +%% \begin{enumerate*} +\newenvironment{enumerate*}% +{\begin{enumerate}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]}% +{\end{enumerate}} +% +%% \begin{romanenumerate} +%% \begin{romanenumerate*} +\newenvironment{romanenumerate}% +{\begin{enumerate}[nosep,leftmargin=2zw,itemindent=1zw,labelsep=1.15zw,listparindent=1zw]% +\renewcommand{\labelenumi}{(\ajLabel\ajroman{enumi})}% +\renewcommand{\labelenumii}{(\alph{enumii})}% +}% +{\end{enumerate}} +\newenvironment{romanenumerate*}% +{\begin{enumerate}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]% +\renewcommand{\labelenumi}{(\ajLabel\ajroman{enumi})}% +\renewcommand{\labelenumii}{(\alph{enumii})}% +}% +{\end{enumerate}} +% +%% \begin{Romanenumerate} +%% \begin{Romanenumerate*} +\newenvironment{Romanenumerate}% +{\begin{enumerate}[nosep,leftmargin=2zw,itemindent=1zw,labelsep=1.15zw,listparindent=1zw]% +\renewcommand{\labelenumi}{(\ajLabel\ajRoman{enumi})}% +\renewcommand{\labelenumii}{(\alph{enumii})}% +}% +{\end{enumerate}} +\newenvironment{Romanenumerate*}% +{\begin{enumerate}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]% +\renewcommand{\labelenumi}{(\ajLabel\ajRoman{enumi})}% +\renewcommand{\labelenumii}{(\alph{enumii})}% +}% +{\end{enumerate}} +% +%% \begin{caseenumerate} +%% \begin{caseenumerate*} +%% \begin{stepenumerate} +%% \begin{stepenumerate*} +\newenvironment{caseenumerate}% +{\begin{romanenumerate}}% +{\end{romanenumerate}} +\newenvironment{caseenumerate*}% +{\begin{romanenumerate*}}% +{\end{romanenumerate*}} +\newenvironment{stepenumerate}% +{\begin{Romanenumerate}}% +{\end{Romanenumerate}} +\newenvironment{stepenumerate*}% +{\begin{Romanenumerate*}}% +{\end{Romanenumerate*}} +%% +% +%% \@jpneduenumerate@zwspace +\chardef\@jpneduenumerate@zwspace=\jis"2121\relax +% +%% \@jpneduenumerate@makenumber +% Non-stared macros are heading ones. +% Stared macros are non-heading ones. +\newcommand{\@jpneduenumerate@makenumber}[2]{% +\expandafter\newcommand\csname #1\endcsname% +{\@ifstar{\csname @jpneduenumerate#1@star\endcsname}{\csname @jpneduenumerate#1@nostar\endcsname}}% +\expandafter\newcommand\csname @jpneduenumerate#1@star\endcsname[1]% +{#2}% +\expandafter\newcommand\csname @jpneduenumerate#1@nostar\endcsname[1]% +{\noindent#2\hspace{0.5zw}}} +% +%% Refs +% \ref{<\labelenumii of romanenumerate and Romanenumerate>} doesn't work. +\@jpneduenumerate@makenumber{parenref}{(\ref{#1})} +\@jpneduenumerate@makenumber{romanref}{\ajroman{\getrefnumber{#1}}} +\@jpneduenumerate@makenumber{parenromanref}{(\ajroman{\getrefnumber{#1}})} +\@jpneduenumerate@makenumber{Romanref}{\ajRoman{\getrefnumber{#1}}} +\@jpneduenumerate@makenumber{parenRomanref}{(\ajRoman{\getrefnumber{#1}})} +% +%%* ENUMERATE GENERATOR +%% \@jpneduenumeratetext@makenumber +\newcommand{\@jpneduenumeratetext@makenumber}[2]{% +% make the counter +\newcounter{jpneduenumeratetext#1counter}% +\setcounter{jpneduenumeratetext#1counter}{0}% +%* print only counter number +\@jpneduenumerate@makenumber{#1number}{#2}% +% step +\expandafter\newcommand\csname #1numberauto\endcsname% +{\refstepcounter{jpneduenumeratetext#1counter}\csname thejpneduenumeratetext#1counter\endcsname}% +% keep +\expandafter\newcommand\csname #1numberkeep\endcsname% +{\csname thejpneduenumeratetext#1counter\endcsname}% +% reset +\expandafter\newcommand\csname #1numberreset\endcsname% +{\setcounter{jpneduenumeratetext#1counter}{0}}% +%* +%* print counter +% Non-asterisked macros are heading. +% Asterisked macros are not heading. +% step +\expandafter\newcommand\csname #1auto\endcsname% +{\@ifstar{\csname @ghostheadingdefault#1auto@star\endcsname}{\csname @ghostheadingdefault#1auto@nostar\endcsname}}% +\expandafter\newcommand\csname @ghostheadingdefault#1auto@star\endcsname% +{\csname @jpneduenumerate#1number@star\endcsname{\csname #1numberauto\endcsname}}% +\expandafter\newcommand\csname @ghostheadingdefault#1auto@nostar\endcsname% +{\csname @jpneduenumerate#1number@nostar\endcsname{\csname #1numberauto\endcsname}}% +% keep +\expandafter\newcommand\csname #1keep\endcsname% +{\@ifstar{\csname @ghostheadingdefault#1keep@star\endcsname}{\csname @ghostheadingdefault#1keep@nostar\endcsname}}% +\expandafter\newcommand\csname @ghostheadingdefault#1keep@star\endcsname% +{\csname @jpneduenumerate#1number@star\endcsname{\csname #1numberkeep\endcsname}}% +\expandafter\newcommand\csname @ghostheadingdefault#1keep@nostar\endcsname% +{\csname #1number\endcsname{\csname #1numberkeep\endcsname}}% +% reset (same as numberreset) +\expandafter\newcommand\csname #1reset\endcsname% +{\setcounter{jpneduenumeratetext#1counter}{0}}% +%* +} +%% +%%* +% +%% Numbers +\@jpneduenumeratetext@makenumber{square}{\mbox{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}#1}\kern-1zw\@jpneduenumerate@zwspace}} +\@jpneduenumeratetext@makenumber{question}{\mbox{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}#1}\kern-1zw\@jpneduenumerate@zwspace}} +% NG: \mbox{(#1)} +\@jpneduenumeratetext@makenumber{subquestion}{\:(#1)} +\@jpneduenumeratetext@makenumber{enumerate}{\:(#1)} +\@jpneduenumeratetext@makenumber{case}{\mbox{(\ajroman{#1})}} +\@jpneduenumeratetext@makenumber{step}{\mbox{(\ajRoman{#1})}} +%% +% +%% Refs +\@jpneduenumerate@makenumber{squareref}{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}\ref{#1}}\kern-1zw\@jpneduenumerate@zwspace} +\@jpneduenumerate@makenumber{questionref}{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}\ref{#1}}\kern-1zw\@jpneduenumerate@zwspace} +% \@jpneduenumerate@makenumber{questionref}{\mbox{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.3em]{\ref{#1}}\kern-1zw\@jpneduenumerate@zwspace}} +\@jpneduenumerate@makenumber{subquestionref}{\:\mbox{(\ref{#1})}} +\@jpneduenumerate@makenumber{enumerateref}{\:\mbox{(\ref{#1})}} +\@jpneduenumerate@makenumber{caseref}{\refused{#1}\mbox{(\ajroman{\getrefnumber{#1}})}} +\@jpneduenumerate@makenumber{stepref}{\refused{#1}\mbox{(\ajRoman{\getrefnumber{#1}})}} +% +%%* AVOID ERROR of COUNTER +%% case +\renewcommand{\caseauto}{\@ifstar{\@jpneduenumeratetext@avoid@caseauto@star}{\@jpneduenumeratetext@avoid@caseauto@nostar}} +\newcommand{\@jpneduenumeratetext@avoid@caseauto@star}{% +\refstepcounter{jpneduenumeratetextcasecounter}% +\@jpneduenumeratecasenumber@star{\value{jpneduenumeratetextcasecounter}}% +} +\newcommand{\@jpneduenumeratetext@avoid@caseauto@nostar}{% +\refstepcounter{jpneduenumeratetextcasecounter}% +\casenumber{\value{jpneduenumeratetextcasecounter}}% +} +\renewcommand{\casekeep}{\@ifstar{\@jpneduenumeratetext@avoid@casekeep@star}{\@jpneduenumeratetext@avoid@casekeep@nostar}} +\newcommand{\@jpneduenumeratetext@avoid@casekeep@star}{% +\@jpneduenumeratecasenumber@star{\value{jpneduenumeratetextcasecounter}}% +} +\newcommand{\@jpneduenumeratetext@avoid@casekeep@nostar}{% +\casenumber{\value{jpneduenumeratetextcasecounter}}% +} +%% +% +%% step +\renewcommand{\stepauto}{\@ifstar{\@jpneduenumeratetext@avoid@stepauto@star}{\@jpneduenumeratetext@avoid@stepauto@nostar}} +\newcommand{\@jpneduenumeratetext@avoid@stepauto@star}{% +\refstepcounter{jpneduenumeratetextstepcounter}% +\@jpneduenumeratestepnumber@star{\value{jpneduenumeratetextstepcounter}}% +} +\newcommand{\@jpneduenumeratetext@avoid@stepauto@nostar}{% +\refstepcounter{jpneduenumeratetextstepcounter}% +\stepnumber{\value{jpneduenumeratetextstepcounter}}% +} +\renewcommand{\stepkeep}{\@ifstar{\@jpneduenumeratetext@avoid@stepkeep@star}{\@jpneduenumeratetext@avoid@stepkeep@nostar}} +\newcommand{\@jpneduenumeratetext@avoid@stepkeep@star}{% +\@jpneduenumeratestepnumber@star{\value{jpneduenumeratetextstepcounter}}% +} +\newcommand{\@jpneduenumeratetext@avoid@stepkeep@nostar}{% +\stepnumber{\value{jpneduenumeratetextstepcounter}}% +} +%% +%%* +% +%% \equationreset +\DeclareRobustCommand{\equationreset}{\setcounter{equation}{0}} +% +%% \question +\providecommand{\question}{\@ifstar{\@jpneduenum@question@star}{\@jpneduenum@question@nostar}} +\DeclareRobustCommand{\@jpneduenum@question@star}{\questionauto*} +\DeclareRobustCommand{\@jpneduenum@question@nostar}{% +\setcounter{equation}{0}% +\setcounter{jpneduenumeratetextsubquestioncounter}{0}% +\setcounter{jpneduenumeratetextenumeratecounter}{0}% +\setcounter{jpneduenumeratetextcasecounter}{0}% +\setcounter{jpneduenumeratetextstepcounter}{0}% +\questionauto} +% +%% \subquestion +\providecommand{\subquestion}{\@ifstar{\@jpneduenum@subquestion@star}{\@jpneduenum@subquestion@nostar}} +\DeclareRobustCommand{\@jpneduenum@subquestion@star}{\subquestionauto*} +\DeclareRobustCommand{\@jpneduenum@subquestion@nostar}{% +\setcounter{jpneduenumeratetextcasecounter}{0}% +\setcounter{jpneduenumeratetextstepcounter}{0}% +\subquestionauto} +% +%% \case +\providecommand{\case}{\@ifstar{\@jpneduenum@case@star}{\@jpneduenum@case@nostar}} +\DeclareRobustCommand{\@jpneduenum@case@star}{\caseauto*} +\DeclareRobustCommand{\@jpneduenum@case@nostar}{\caseauto} +% +%% \step +\providecommand{\step}{\@ifstar{\@jpneduenum@step@star}{\@jpneduenum@step@nostar}} +\DeclareRobustCommand{\@jpneduenum@step@star}{\stepauto*} +\DeclareRobustCommand{\@jpneduenum@step@nostar}{\stepauto} +% +%% EOF
\ No newline at end of file |