我希望能够创建类似于图表列表的附件列表。但是,由于按页码对附件进行排序毫无意义,因此我希望按字母顺序对附件进行排序。
我可以自己创建附件列表,但无法按字母顺序对其进行排序。我发现可以这样做这里但是,这个解决方案对我来说不起作用(使用 PdfLatex 它可以工作,但使用我使用的 LuaLatex 时,分类是错误的):
所以我想知道是否可以直接使用 Lua 或使用 Biber 的功能(在 Biblatex 上下文之外)对包含 unicode 字符的列表进行字母排序。这些工具在这个领域不是更有效率吗?
以下是 MWE:
\documentclass{article}
\usepackage{hyperref, embedfile, hypgotoe, datatool}
\renewcommand*{\dtlsetUTFviiicharcode}[2]{%
\ifstrequal{#1}{À}{#2=65\relax}%
{\ifstrequal{#1}{É}{#2=69\relax}{\dtlsetdefaultUTFviiicharcode{#1}{#2}}}%
}
\makeatletter
\NewDocumentCommand{\declareattachedfile}{m m}{%
\embedfile[ucfilespec={#2.pdf}]{#1}%
\addtocontents{loaf}{%
\protect\DTLnewrow{listofattachedfiles}%
\protect\DTLnewdbentry{listofattachedfiles}{filename}{#1}%
\protect\DTLnewdbentry{listofattachedfiles}{filetitle}{#2}%
}%
}
\newcommand{\listofattachedfiles}{%
\section*{List of attached files}%
\DTLnewdb{listofattachedfiles}%
\@starttoc{loaf}%
\DTLsort{filetitle}{listofattachedfiles}%
\DTLforeach*{listofattachedfiles}{\theFiletitle=filetitle, \theFilename=filename}{%
\vskip 12\p@ \@plus\p@%
\begingroup%
\noindent\href[pdfnewwindow=true]{gotoe:embedded=\theFilename}{\theFiletitle}%
\par%
\endgroup%
}%
\newpage%
}
\makeatother
\declareattachedfile{example-image-letter-numbered.pdf}{Z}
\declareattachedfile{example-image-a4-numbered.pdf}{A}
\declareattachedfile{example-image.pdf}{1}
\declareattachedfile{example-image-a.pdf}{É}
\declareattachedfile{example-image-b.pdf}{N}
\begin{document}
\listofattachedfiles
Expected sorting :
\begin{itemize}
\item 1
\item A
\item É
\item N
\item Z
\end{itemize}
\end{document}