有没有办法自动对编号列表进行排序?

有没有办法自动对编号列表进行排序?

可能重复:
如何对字母数字列表进行排序

例如我有以下代码:

\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

相关内容