在 Texlipse 中使用词汇表

在 Texlipse 中使用词汇表

有没有办法使用 Texlipse 中的词汇表包添加词汇表?

%%% GLOSSARIES
\usepackage[xindy]{glossaries}
\makeglossaries

\begin{document}

\newglossaryentry{A}{name=area,description={Area}}
\glsaddall
\printglossaries

\section{Section Header}
Text Text Text

\end{document}

(我已经在 Windows 系统上安装了 Perl(按照文档)但这似乎没有改变任何东西……除非我错过了一些关键部分!)

答案1

我花了一些时间摆弄它,最后终于让它工作了。说明应该是与平台无关的,但作为参考,这是在 上Eclipse 3.7.2/Texlipse 1.5.0/Win7 x64/MikTeX 2.9。我选择不使用makeglossaries脚本,因为 Perl 通常不在 Windows 系统上找到,并且当输入和输出文件的目录不同时,我在脚本中遇到了一些问题。makeindex应该可以很好地工作。


  1. 指定由以下操作创建的临时/辅助文件的位置glossaries

    • 在 Eclipse 中,转到Window->Preferences->Texlipse->Builder Settings->Latex Temp Files

    • 添加以下特定glossaries扩展:.ist.gls.glg.glo

    每次构建后,这会将临时文件移动到tmp目录中,这样它们就不会妨碍构建。这有点可选,您可以不用它,但它可以保持源目录干净。

  2. 创建一个新的make glossaries外部工具配置:

    • 转到Run->External Tools->External Tools Configurations...并创建一个新配置。随意命名。

    • 在“位置”字段中,使用命令的路径makeindex

    • 在“工作目录”中,使用${project_loc}\tmp。它与项目无关,因此您不必为每个新项目更新它。

    • 在“参数”中,使用以下内容:

      -q -s ${project_name}.ist -t ${project_name}.glg -o ${project_name}.gls ${project_name}.glo

    makeindex根据需要添加任何相关的自定义。我使用该-q标志来禁止将日志消息打印到 Eclipse 中的控制台,但您可以将其取出以进行调试。

  3. 每次构建后运行词汇表:

    • 打开你的项目并转到Project->Properties->Builders

    • 选择Import...我们刚刚制作的构建器。

    • 转至Edit...寻找建造者,然后转至Build Options

    • 检查Launch in backgroundDuring manual buildsDuring auto builds

    • 取消选中After a "Clean"During a "Clean"

    • 其余部分保持原样。

    如果您的主.tex文件的名称与项目的名称不同,则请${project_name}适当替换“参数”部分中的所有引用(当然,这是针对导入的构建器执行的,而不是针对外部工具执行的)。不要费心创建新变量,这只适用于您当前的项目,因此只需对它们进行硬编码即可。

您可能需要构建两次才能显示引用,因为该工具仅在每次构建后执行,并且您需要再构建一次才能显示它们。这与您手动执行此操作的方式类似 -{pdf}latex执行后您需要再次调用makeindex

答案2

我找到了一个使用 makeglossaries 并保持 PDF 与 PDF4Eclipse 同步的解决方案。

该解决方案基于这个帖子

  1. 安装 Perl
  2. 确保你的 tex 发行版 bin 文件夹中有 makeglossaries.exe
  3. 确保您可以直接从命令行调用 makeglossaries。

    $> makeglossaries    
    makeglossaries: Need exactly one file argument.   
    Use `makeglossaries --help' for help.
    
  4. 接下来在 Eclipse 的项目文件夹中创建一个 .bat 文件 (gloss.bat),并输入以下内容

    @echo off 
    cd "%~dp1"
    set texSource=%~n1
    pdflatex  -synctex=1 -interaction=nonstopmode --src-specials "%texSource%.tex"
    makeglossaries "%texSource%"
    pdflatex  -synctex=1 -interaction=nonstopmode --src-specials "%texSource%.tex"
    pdflatex  -synctex=1 -interaction=nonstopmode --src-specials "%texSource%.tex"
    pdflatex  -synctex=1 -interaction=nonstopmode --src-specials "%texSource%.tex"
    
  5. 现在在 Eclipse 中,Window --> Preferences --> Texlipse --> Builder Settings您应该将 Pdflatex 命令编辑为以下内容:

    Program File: <pathtoprojectfolder>\gloss.bat
    Arguments: %input
    
  6. 将以下扩展名添加到临时文件列表中Window-->Preferences-->Texlipse-->Builder Settings-->Latex Temp Files

    • .ist、.glo、.gls、.glg、.acn、.acr、.alg

相关内容