使用包词汇表及其脚本 makeglossaries 创建词汇表

使用包词汇表及其脚本 makeglossaries 创建词汇表

我正在尝试在包中添加首字母缩略词和词汇表项目列表glossaries。它们\gls{...}正在被正确的首字母缩略词替换。

我正在使用 MikTex 2.9(最新更新于 2011 年 5 月 4 日)并且安装了 Strawberry Perl 5.12.2。

为了生成我的 PDF 文件,我运行以下命令

pdflatex thesis
bibtex thesis
makeglossaries thesis
pdflatex thesis
makeglossaries thesis
pdflatex thesis

运行时makeglossaries thesis我在终端上收到以下消息。

makeglossaries version 2.03 (2011-12-02)
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 461, <AUXFILE> line 18.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 473, <AUXFILE> line 18.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 482, <AUXFILE> line 18.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 488, <AUXFILE> line 18.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 497, <AUXFILE> line 18.
added glossary type 'main' (glg,gls,glo)
added glossary type 'acronym' (alg,acr,acn)
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 461, <AUXFILE> line 27.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 473, <AUXFILE> line 27.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 482, <AUXFILE> line 27.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 488, <AUXFILE> line 27.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 497, <AUXFILE> line 27.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 461, <AUXFILE> line 28.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 473, <AUXFILE> line 28.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 482, <AUXFILE> line 28.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 488, <AUXFILE> line 28.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 497, <AUXFILE> line 28.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 461, <AUXFILE> line 29.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 473, <AUXFILE> line 29.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 482, <AUXFILE> line 29.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 488, <AUXFILE> line 29.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 497, <AUXFILE> line 29.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 461, <AUXFILE> line 30.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 473, <AUXFILE> line 30.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 482, <AUXFILE> line 30.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 488, <AUXFILE> line 30.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 497, <AUXFILE> line 30.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 461, <AUXFILE> line 31.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 473, <AUXFILE> line 31.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 482, <AUXFILE> line 31.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 488, <AUXFILE> line 31.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 497, <AUXFILE> line 31.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 461, <AUXFILE> line 32.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 473, <AUXFILE> line 32.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 482, <AUXFILE> line 32.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 488, <AUXFILE> line 32.
Use of uninitialized value $_ in pattern match (m//) at C:\Program Files (x86)\MiKTeX 2.9\scripts\glossaries\makeglossaries line 497, <AUXFILE> line 32.
Warning: File 'thesis.acn' is empty.
Have you used any entries defined in glossary 'acronym'?
Warning: File 'thesis.glo' is empty.
Have you used any entries defined in glossary 'main'?
Remember to use package option 'nomain' if you
don't want to use the main glossary.

我不知道我做错了什么。希望有人能帮助我。

答案1

sub scan_aux{
  my $name = shift;

  # v2.0 added
  local(*AUXFILE);

  if (open AUXFILE, "$name.aux")
  {
    while (<AUXFILE>)
    {

      # v1.9 added
      if (m/\\\@input{(.+)\.aux}/)
      {
        &scan_aux($1);
        next;  <<<<<<<<<<<<<----------------
      }

相关内容