某先輩向けに頼まれて改良したマクロ
\@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}