1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
%%%%%%% Internal basic commands for package
b\newcommand{\relax}{}
\newcommand{\@empty}{}
\newcommand{\@gooble}[1]{}
\let\@gobble\@gooble
%%%%%% Iter #1 on #3, a #2 separated list of non-empty elements
\def\@iter
#1#2#3{%
%\hva@warn{\@iter '#1' '#2' '#3'}%
\def\@test{#3}%
\ifx\@test\@empty\else
\def\@@iter##1#2{%
%\hva@warn{\@@iter '##1'}%
\def\@test{##1}%
\ifx\@test\@empty
\let\@next\relax\else
#1{##1}%
\let\@next\@@iter\fi
\@next}%
\@callsubst{\@@iter}{#3#2#2}\fi}
%%%%%%%%%% eat leading spaces in argument
\def\@eatspaces#1,{#1}%
%%%%%
\newcommand{\@Let}[2]{\ifu#2\else\let#1#2\fi}
\newcommand{\IfDisplay}[2]{\ifdisplay#1\else#2\fi}
\newcommand{\@non@kk}[2][]{}
\newcommand{\@non@k}[1][]{\@non@kk}
\newcommand{\NoCommand}[1]{\@non@k}
%%%shortcuts for defining/using strange csname %%%
\newcommand{\@namedef}[1]{\def\csname#1\endcsname}
\newcommand{\@nameuse}[1]{\csname#1\endcsname}
|