読者です 読者をやめる 読者になる 読者になる

某先輩向けに頼まれて改良したマクロ

TeX

\@arrangement 周りがきれいでないのが気にくわないんだけど,先輩仕様なので仕方ない.

\documentclass{jarticle}

\makeatletter
\newcount\c@arrange
\def\get@arrangement{}
\def\arrangement#1#2{\@arrangement{\get@arrangement}{#1}{#2}\get@arrangement}
\def\@arrangement#1#2#3{%
  \c@arrange=0\relax
  \@for\temp:=#2\do{%
    \advance \c@arrange by 1
    \ifnum\c@arrange=#3\relax
      \edef\@tempa{\gdef\noexpand#1{\number\temp}}%
      \@tempa%
    \fi%
  }%
}%

\def\Words{\@ifnextchar[\Words@seq\@Words}% ]
\def\Words@seq[#1]#2{%
  \@arrangement{\get@arrangement}{#1}{#2}%
  \@Words{\get@arrangement}%
  }
\def\@Words#1{%
  \ifcase#1\or
  % 1 
  ability
  \or
  % 2 
  problem
  \or
  % 3 
  attention
  \or
  % 4 
  purpose
  \or
  % 5 
  future
  \or
  % 6 
  literature
  \else\@ctrerr
  \fi
 }
\makeatother

\begin{document}

\noindent
\arrangement{2,4,6}{1} : \Words{2}\\
\arrangement{2,4,6}{2} : \Words{4}\\
\arrangement{2,4,6}{3} : \Words{6}

\def\list{2,4,6}
\Words[\list]{3}

\end{document}