سلام. در اینجا روشی برای پیدا کردن تمام حالات چیدن چند حرف کنار هم آمده است. کد زیر هم برای همین نوشته شده است. چگونه می توان دستورات را بهتر کرد طوری که با یک فرمان تمام حالتها (سه حرفی، چهارحرفی و پنجحرفی) نمایش داده شود؟
\documentclass[preview]{standalone}
\usepackage{xepersian}
\settextfont[]{Yas}
\def\recurse#1#2#3#4\endmarker{%
\dopermute{#1#3}#2#4\endmarker
\ifx\relax#4\relax\else % add a \par before \else if there are more than 8 items
\recurse{#1}{#2#3}#4\endmarker
\fi}
\def\dopermute#1#2#3\endmarker{%
\ifx\relax#3\relax
#1#2,
\else
\dopermute{#1#2}#3\endmarker
\recurse{#1}{#2}#3\endmarker
\fi}
\newcommand*\permute[1]{\dopermute{}#1\endmarker\newline}
\begin{document}
\noindent\raggedright
\def\a{ر}
\def\b{گ}
\def\c{ش}
\def\d{ا}
\def\e{د}
\permute{\a\b\c}
\permute{\a\b\d}
\permute{\a\b\e}%
\permute{\a\c\d}
\permute{\a\c\e}%
\permute{\a\d\e}%
\permute{\b\c\d}
\permute{\b\c\e}
\permute{\b\d\e}
\permute{\c\d\e}
\permute{\b\c\d\e}
\permute{\a\c\d\e}
\permute{\a\b\d\e}
\permute{\a\b\c\e}
\permute{\a\b\c\d}
\permute{\a\b\c\d\e}
\end{document}