缩略词、索引“参见”和辅助文件

缩略词、索引“参见”和辅助文件

我在我的论文中使用了一些首字母缩略词,我希望它们以如下方式出现在字母索引中:

ACR,参见首字母缩略词

首字母缩略词,iii,5,48

这是我的代码:

\documentclass[11pt,a4paper]{book}

\usepackage[nottoc,notlot,notlof]{tocbibind}
\usepackage{imakeidx}
\usepackage{bookmark} % includes hyperref
\usepackage[toc,acronym]{glossaries}

\makeindex[intoc]
\makeglossaries

\newacronym{fmea}{FMEA}{Fail\-ure Mode and Ef\-fect A\-nal\-y\-sis}

\begin{document}

    \frontmatter
    \tableofcontents
    
    \mainmatter
    Occurrence of the acronym \acrlong{FMEA}
    \index{FMEA}
    
    \backmatter
    \printglossary[type=\acronymtype,nonumberlist]
    \index{failure mode and effect analysis|see{FMEA}}
    \printindex
\end{document}

此代码运行完美,但我必须声明每个首字母缩略词两次(作为 newacronym 和索引“see”)。我引入此命令作为变体,它\newacronym还会生成相应的\index语音:

\newcommand{\newacronymidx}[3]{
  \newacronym{#1}{#2}{#3}
  \index{\MakeLowercase{#3}|see #2}
}

\newacronym{fmea}{FMEA}{Fail\-ure Mode and Ef\-fect A\-nal\-y\-sis}

我有三个问题:

  1. “ACR,参见首字母缩略词”索引条目出现在字母索引的开头,而不是其正确的按字母顺序排列的位置
  2. 现在我在“ACR,参见缩写”后获得了一个页码,其超链接指向第一页(卷首插图,未包含在本 MWE 中)
  3. 由于一些我无法理解的奇怪原因,FMEA 变成了 FEA(它没有出现在我的代码中)

指数截图

在此示例中,FMEA 的定义是\newacronymidx,其他缩写词的定义是 \newacronym 和 \index{acronym|see ACR}。唯一错误的是 FMEA。

问题 1:

我认为前两个问题与命令在源代码中的位置有关\index(现在在序言中)。有没有办法创建一个辅助文件,使用\makeacronymidx将带有命令的新行附加\index到此文件,然后\include{myAuxFile}在前面使用\printindex

问题2:

关于索引中的 FMEA 成为 FEA 有什么想法吗?这在 MWE 中不会发生,但我无法在此处发布完整代码...

谢谢你!

编辑:由 Nicola Talbot 在评论中解决

\newcommand{\newacronymidx}[3]{
  \newacronym{#1}{#2}{#3}
  \index{#3@\MakeLowercase{#3}|see {#2}}
}

答案1

评论摘要:

  • 当索引术语包含格式化命令时,需要一个排序值(因为makeindex不会忽略 LaTeX 命令,而是将它们视为以 开头的字符串\)。
  • 封装see要求在参数周围加上括号:|see FMEA变为\see FMEA{1},其实际上是\see{F}{M}EA1,因此M被丢弃 并且出现页码。

因此定义需要为:

\newcommand{\newacronymidx}[3]{%
  \newacronym{#1}{#2}{#3}%
  \index{#3@\MakeLowercase{#3}|see{#2}}%
}

答案2

如果这对任何人都有帮助,这里有两种索引首字母缩略词的方法,由 Nicola Talbot 进行了更正。此代码允许将排序部分指定为可选参数。


方法 1:缩写指向全文

\usepackage{etoolbox}

\newcommand{\newacronymidx}[4][]{ % rimanda acronimo a esteso
    \newacronym{#2}{#3}{#4}
    \ifstrempty{#1}
        { \index{#3|see{\MakeLowercase{#4}}} }
        { \index{#3|see{#1}} }
}

\newacronymidx{acr}{ACR}{Acronym}
\newacronymidx[qwerty]{abb}{ABB}{Abbreviation}

索引:
ABB,qwerty
ACR,首字母缩略词 首字母
缩略词, 18
qwerty, 36, 58

可能的用途是:

\newacronymidx[control limits]{ucl}{UCL}{Upper Control Limit}

索引条目:UCL,控制限


方法 2:全文指向缩写

\usepackage{etoolbox}

\newcommand{\newacronymidx}[4][]{ % rimanda esteso ad acronimo
    \newacronym{#2}{#3}{#4}
    \ifstrempty{#1}
    { \index{#4@\MakeLowercase{#4}|see{#3}} }
    { \index{#1|see{#3}} }
}

\newacronymidx{acr}{ACR}{Acronym}
\newacronymidx[qwerty]{abb}{ABB}{Abbreviation}

索引:
ABB,36,58
ACR,18
缩写,ACR
标准键盘,ABB

可能的用途是:

\newacronymidx[Western Electric rules]{wer}{WER}{Western Electric Rules}

索引条目:西部电气规则,世界教育学会联合会

(我不希望 Western Electric 变成小写)

相关内容