考虑数字
2^4、4^2、3^2 和 5^2
是否可以让 LaTeX 计算这些数字的值,然后根据它们的值自动排列?
也就是说,在这个特定情况下,我希望获得输出
3^2、2^4、4^2 和 5^2
PS 它不一定是 LaTeX 3 解决方案。
答案1
\documentclass{article}
\usepackage{xparse,expl3}
\ExplSyntaxOn
\NewDocumentCommand{\sortnumberlist}{m}
{
\clist_set:Nn \l_svend_numberlist_clist { #1 }
\clist_sort:Nn \l_svend_numberlist_clist
{
\fp_compare:nTF { ##1 > ##2 }
{
\sort_return_swapped:
}
{
\sort_return_same:
}
}
\clist_clear:N \l_svend_printnumberlist_clist
\clist_map_inline:Nn \l_svend_numberlist_clist
{
\clist_put_right:Nn \l_svend_printnumberlist_clist { $##1$ }
}
\clist_use:Nnnn \l_svend_printnumberlist_clist { ~and~ }{ ,~ }{ ,~and~ }
}
\clist_new:N \l_svend_printnumberlist_clist
\clist_new:N \l_svend_numberlist_clist
\ExplSyntaxOff
\begin{document}
\sortnumberlist{2^4, 4^2, 3^2, 5^2, 13, 25-1}
\end{document}