可能重复:
如何对字母数字列表进行排序
例如我有以下代码:
\begin{enumerate}
\item Rabbit
\item Apple
\item Serpent
\end{enumerate}
有没有办法添加一些内容并获取排序好的编号列表作为输出?
答案1
您可以使用逗号分隔列表,然后对其进行排序。这是 MWE。
\documentclass{article}
\usepackage{lstdoc,booktabs}
\makeatletter
\let\alist\@empty
\def\addtolist#1{%
\lst@lAddTo\alist{#1,}
\lst@BubbleSort{\alist}
}
\parindent0pt
\newcounter{cnt}
\setcounter{cnt}{0}
\begin{document}
%% adding the data now
\addtolist{banana}
\addtolist{zero}
\addtolist{apple}
\addtolist{arab}
\@for\next:=\alist\do{%
\stepcounter{cnt}%
\thecnt\space \next\\
}
\end{document}
您可以在循环内格式化输出\@for
。