我已经设置了一个新的文件夹,_build
用于分离和包含 Texstudio(使用 Miktex)中生成的 pdflatex 和 bibtex 的 aux 和 bib 文件,如下所示:Texstudio --> 选项 --> 配置 Texstudio --> 命令:
pdflatex.exe -synctex=1 -interaction=nonstopmode --aux-directory=_build %.tex
bibtex.exe _build/% -include-directory=_build
上述配置工作正常,PDF 按预期输出。
但是,当我尝试使用 makeindex 执行相同操作(在序言中以及在正文中使用\usepackage{imakeidx}
和)时,我更改了 Texstudio 命令中 makeindex 的配置,如下所示:Texstudio --> 选项 --> 配置 Texstudio --> 命令:\makeindex
\printindex
makeindex.exe _build/%.idx -include-directory=_build
虽然我看到文件夹myfile.idx
中创建了索引_build
,但是文档中没有创建索引,并且我收到以下消息:
Input index file myfile.idx not found. Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...]
有没有办法_build
在 makeindex 命令中正确包含新文件夹路径?
答案1
这是可能的,并且肯定可以从命令行运行(但是如上所述绝对不建议适用于所有情况)这是运行时文件夹的组合图像
右侧的文件位于子文件夹“build”中,该文件夹由第一次运行 PdfLaTeX 创建(但是,如果您有 bib 或其他支持文件,则需要先创建文件夹以将其放入其中),而中心文件组位于文件夹 book_2 中。请注意,“(busy)”文件在构建时会闪烁,运行完成后会消失。
我曾多次尝试解决 TeXstudio 运行以下一系列控制台命令时遇到的问题。最后得出的结论是:TeXstudio 第一次编译和 makeindex 以及 biber 运行都没有问题,但 Texstudio 的输出在最终的 pdfLaTeX 上产生了错误的结果,虽然我的模板建议额外运行,但只有一次成功,而且无论我做什么,甚至删除构建文件夹,它都会超出预期的结果,从而破坏了最终的参考书目结构!!
什么有效是从命令行运行的,所以我不得不假设 TeXstudio 添加了太多的 poke,无论如何,下面是我运行的命令
注意 -s StyleInd.ist 是我的测试文件的要求(通常不需要)
pdflatex.exe -synctex=1 -interaction=nonstopmode -output-directory ./build/ main
makeindex.exe ./build/main.idx -s ./build/StyleInd.ist
biber.exe ./build/main
pdflatex.exe -synctex=1 -interaction=nonstopmode -output-directory ./build/ main
在 TeXstudio 中它们是(没有我的-s./build/StyleInd.ist)
pdflatex.exe -synctex=1 -interaction=nonstopmode -output-directory ./build/ %.tex
bibtex.exe ./build/%
makeindex.exe ./build/%.idx