对于我的文档,我喜欢将下标和上标(德语:Indizes)定义为命令,以便\newcommand{}{}
为常用缩写创建层叠的快捷方式结构。这具有巨大的优势,我可以用一行代码轻松更改所有相关的缩写和下标。例如:
- 热能储存的缩写 TES
\newcommand{\TES}{TES}
- 也可以定义为下标或数学变量,以
\newcommand{\TESi}{\mathit{\TES}}
获得漂亮的数学文本格式 - 在文本中使用
\TES{}
- 用于数学符号,表示
$V_{\TESi}$
TES 的体积 - 添加到下标和上标词汇表中
\newacronym[type=indizes]{tes}{$\TESi$}{thermal energy storage}
最后一步造成了一些麻烦:对条目进行排序时,glossaries
似乎是按命令的名称而不是命令生成的字符串。
这意味着,如果我将初始缩写从 重命名newcommand{\TES}{TES}
为newcommand{\TES}{ES}
,则词汇表将按\TES
而不是排序ES
。当缩写未由新命令定义被添加(在相当多非常明显的情况下,根本没有其他有用的缩写),排序完全失败。
添加\newacronym[type=indizes,sort=ES]
有效,但我还是更喜欢隐式解为了灵活性,例如\newacronym[type=indizes,sort=\TES]
,它再次按TES
而不是排序ES
......
我的最小工作示例是(是的,我可以删除词汇表样式的定义,但这样阅读起来更容易:)):
\documentclass[a4paper,oneside,11pt,parskip=half]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[acronym, toc, nonumberlist, nopostdot, nomain, nogroupskip]{glossaries}
\newglossary[ilg]{indizes}{iyi}{iyg}{Indizes}
\setlength{\glsdescwidth}{12cm}
\makeglossaries
\glsnoexpandfields
% Stil für Indizes und Abkürzungen
\newglossarystyle{fixedglslong}{%
\setglossarystyle{long}% base this style on the list style
\renewenvironment{theglossary}{% Change the table type --> 3 columns
\begin{longtable}{p{2cm}p{14.5cm}}}%
{\end{longtable}}%
%
\renewcommand*{\glossentry}[2]{% Change the displayed items
\glstarget{##1}{\glossentryname{##1}} %
& \glossentrydesc{##1} \tabularnewline
}
}
%% abbreviations
\newcommand{\TES}{ES}
\newcommand{\HT}{HT}
\newcommand{\NT}{NT}
%% sub- and superscripts
\newcommand{\TESi}{\mathit{\TES}}
\newcommand{\HTi}{\mathit{\HT}}
\newcommand{\NTi}{\mathit{\NT}}
\newcommand{\IT}{I}
% glossary for sub- and superscripts:
\newacronym[type=indizes]{TES}{$\TESi$}{thermal energy storage}
\newacronym[type=indizes]{HT}{$\HTi$}{high temperature}
\newacronym[type=indizes]{NT}{$\NTi$}{low temperature}
\newacronym[type=indizes]{itens}{$I$}{inertia tensor}
\begin{document}
\glsaddall
\printglossary[type=indizes, style=fixedglslong]
\end{document}
有没有什么方法可以正确地对项目进行排序,这意味着通过文档中实际打印的字符串?或者我能否以某种方式为 提供一个额外的排序键newacronym
,因为 是可能的\newglossaryentry
?我查看了词汇表文档并尝试了各种变体,但似乎不起作用。
切换到 xindy 可以使其工作吗?可能出现哪些意想不到的副作用?
我希望词汇表的排序看起来像这样:
ES thermal energy storage
HT high temperature
I inertia tensor
NT low temperature