![为什么我的缩写列表不是按字母顺序排列的?](https://linux22.com/image/423987/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%E7%BC%A9%E5%86%99%E5%88%97%E8%A1%A8%E4%B8%8D%E6%98%AF%E6%8C%89%E5%AD%97%E6%AF%8D%E9%A1%BA%E5%BA%8F%E6%8E%92%E5%88%97%E7%9A%84%EF%BC%9F.png)
我正在使用acro
包来生成我的论文中使用的首字母缩略词的缩写列表。具体来说,\printacronyms
命令acro
包打印列表。我还使用chemmacros
用于排版化学公式的包。
灵感来自此代码,这里是 MWE:
\documentclass{article}
\usepackage{chemmacros}
\usepackage{acro}
\acsetup{
barriers/use, barriers/reset,
use-id-as-short,
}
\DeclareAcronym{CH3CN}{
short = \ch{CH3CN},
long-indefinite = an,
long = \iupac{aceto|nitrile},
}
\DeclareAcronym{EMI+BF4-}{
short = \ch{EMI+ BF4-},
short-indefinite = an,
long = \iupac{1-ethyl-3-methyl|imida|zolium tetra|fluoro|borate},
}
\DeclareAcronym{DFT}{
long = density functional theory,
}
\begin{document}
\acuseall
\cleardoublepage
\addcontentsline{toc}{section}{\protect\numberline{}List of Abbreviations}
\printacronyms[heading=none,sort=true]
\end{document}
为什么“EMI+BF4-”后面跟着“DFT”?根据这个答案,“的第一个参数\DeclareAcronym
用于排序。”如果是这样的话,“DFT”不是会排在“EMI+BF4-”之前吗?
我怎样才能解决这个问题?
答案1
为了确定首字母缩略词的排序顺序,该acro
包考虑了 的值short
。由于前两个首字母缩略词的缩写形式包含一个命令(即\ch
),因此它们被放置在首字母缩略词列表的“特殊字符”部分,这意味着在最开始(甚至在字母“a”之前)。为了按字母顺序对它们进行排序,您可以使用带有sort
值的键,如以下示例所示:
\documentclass{article}
\usepackage{chemmacros}
\usepackage{acro}
\acsetup{
barriers/use, barriers/reset,
use-id-as-short,
}
\DeclareAcronym{CH3CN}{
short = \ch{CH3CN},
sort = CH3CN,
long-indefinite = an,
long = \iupac{aceto|nitrile},
}
\DeclareAcronym{EMI+BF4-}{
short = \ch{EMI+ BF4-},
sort = EMI+BF4-,
short-indefinite = an,
long = \iupac{1-ethyl-3-methyl|imida|zolium tetra|fluoro|borate},
}
\DeclareAcronym{DFT}{
long = density functional theory,
}
\begin{document}
\acuseall
\cleardoublepage
\addcontentsline{toc}{section}{\protect\numberline{}List of Abbreviations}
\printacronyms[heading=none,sort=true]
\end{document}