我正在尝试找出一种方法来将 TEX 文件与所有中间文件和输出文件完全分开。我尝试过各种方法,包括将 TeX 输出“捆绑”到目录中似乎不起作用。我正在使用 TexMaker + MikTex(便携式)。理想情况下,我希望我的文件/目录结构看起来像这样:
- 特克斯项目
- 文本文件
- 1.tex
- 2.tex
- 内部文件
- 1.出
- 1.log
- 1.辅助
- 2.出
- 2.log
- 2.辅助
- pdf文件
- 1.pdf
- 2.pdf
- 文本文件
相反,我得到的是乱七八糟的东西,所有这些文件都位于同一个目录中。我尝试过在 pdflatex 上设置输出目录,但不起作用。pdf 文件仍然在同一个位置创建,但现在它没有显示在预览器中。这应该很容易解决,但我到目前为止还没有成功。我如何设置我的环境以在编译时使用上述结构?
更新:我相信我已经将范围缩小到 TexMaker 特有的某个方面。如果所需的辅助目录和输出目录通过命令行传递给 pdflatex,则一切都会按预期构建。但是,我收到许多弹出的消息框,提示找不到文件,并且 PDF 不会显示在内部查看器中。我看不到 TexMaker 中有任何明显的选项可以更改以解决此问题。那么,有人能够使我描述的场景与 TexMaker 一起工作吗?
答案1
根据 lockstep 的建议,我写了一个简短的答案:据我所知,目前这是不可能的,因为无法从 Texmaker GUI 内部更改消息/日志查看器和 pdf 查看器的路径。Texmaker 问题列表上有一个功能请求,以使路径可配置: http://code.google.com/p/texmaker/issues/detail?id=97 也许你很幸运,在以后的版本中这个功能会可用。我个人也会使用这个新功能(并且只备份输入文件夹,而不是输出文件夹)。
答案2
自 Texmaker 3.4 起,您可以指定选项“使用构建目录进行输出”,它会在您的项目文件夹中创建一个“build”文件夹,并将除 .tex 文件之外的所有内容保存在那里。查看手册现在,您还可以将输出目录指定为 pdflatex 的一个选项,例如 -output-directory pdf。但无论如何,您也会在构建文件夹中获得一份 pdf 副本。而且我还没有找到一种直接的方法将输出文件放在根文件夹中。
(并且文件夹中还有一个 .gz 文件,但您可以关闭此选项。)
答案3
对于 TeXstudio (由于是从 texmaker 派生出来的,因此可能与 TeXstudio 类似):
- 如果需要,将选项
-aux_directory
和添加-output-directory
到 latex pdflatex 和其他命令中。 - 更改文件中相应的行(在我的例子中是 160 和 161 行)
texstudio.ini
,在 W7 中通常位于
C:\Users\username\AppData\Roaming\texstudio
相应地修改两个变量的路径。
Tools\Log%20Paths=C:\\\Users\\\username\\\AppData\\\Local\\\Temp
Tools\PDF%20Paths=D:\\\repos\\\pdf
(有意使用双反斜杠)
享受!
答案4
在 TeXstudio (2.10.8) 中,我们可以设置一个子目录,在此示例中名为“output”,如下所示:
菜单 > 选项 > 配置 TeXstudio ...
命令 [Tab] > PdfLaTeX。添加键/值开关
-output-directory=output
。所以我的命令从
pdflatex.exe -synctex=1 -interaction=nonstopmode %.tex
... 到 ...
pdflatex.exe -synctex=1 -interaction=nonstopmode -output-directory=output %.tex
如果您使用除“PdfLaTeX”之外的其他构建命令,请在那里进行类似的更改。我只针对 PdfLaTex 进行构建,因此这就是我所需要更改的全部内容。
命令 [Tab] > 外部 PDF 查看器。我使用的是 Foxit Reader,因此在本例中,我从... 更改为...
"C:\PROGRAM FILES (X86)\FOXIT SOFTWARE\FOXIT READER\FOXITREADER.EXE" "?am.pdf"
... 到 ...
"C:\PROGRAM FILES (X86)\FOXIT SOFTWARE\FOXIT READER\FOXITREADER.EXE" C:\Users\John\Documents\Sda\Code\Markup\Latex\Examples\output\?rm.pdf"
希望只需要一个相对路径,类似于
\output\?rm.pdf
,但到目前为止,我只能使它使用硬编码的绝对路径来工作。命令 [Tab] > Biber(用于 biblatex 包的参考书目)。
改变
biber.exe %
... 到 ...
biber.exe -output-directory=output -input-directory=output %
命令 [Tab] > BibTeX(用于 bibtex 包的参考书目)。
改变
bibtex.exe %.aux
... 到 ...
bibtex.exe output/%.aux
构建 [Tab] > 附加搜索路径。将
\output
(带反斜杠)添加到“日志文件”和“PDF 文件”字段。
在当前窗口中加载源 MyExample.tex 文件后,按 F5(TeXstudio 菜单 > 工具 > 构建和查看)。构建完成后,PDF 查看器应能正确拾取并显示\output\MyExample.pdf
。
这结合并更新了@SisayChala 和@user44553 的答案。