我有以下(简化的) LaTeX 代码,它只是打印其所有参数。
\newcommand{\mm}[4]{#1 #2 #3 #4}
现在,我想将参数打印在随机顺序例如#2 #1 #4 #3
。这可能吗?如果可以,怎么做?
答案1
看来这段代码正在做我想要的事情:
\documentclass{article}
\usepackage{xstring}
\input random
\newcount\randnum
\newcommand\argrandom[4]{%
\def\listarg{{#1}{#2}{#3}{#4}}%
\setrannum\randnum{1}{4}%
\StrChar{\listarg}{\randnum}[\mychar]
\StrDel{\listarg}{\mychar}[\listarg]\mychar\
\setrannum\randnum{1}{3}%
\StrChar{\listarg}{\randnum}[\mychar]\mychar\
\StrDel{\listarg}{\mychar}[\listarg]%
\setrannum\randnum{1}{2}%
\StrChar{\listarg}{\randnum}[\mychar]\mychar\
\StrDel{\listarg}{\mychar}%
}
\begin{document}
\argrandom{un}{deux}{trois}{quatre}
\end{document}
感谢 nino_ras此链接回答我的问题。