如何使用 arara 将辅助文件保存到其他文件夹中?

如何使用 arara 将辅助文件保存到其他文件夹中?

我尝试执行以下操作:

% arara: lualatex: {options: -output-directory=.\output\ -aux-directory=.\auxiliary}

我没有成功。我还尝试使用--以及绝对路径 或 来/启动命令\。如果能有额外的功能,那么如果文件夹不存在,则创建文件夹。

第二个问题:LuaLaTeX 在第二次运行中会知道辅助文件存储在哪里吗?


我正在使用 MikTeX 2.9 在 Win XP 64 上工作

答案1

答案是:这是不可能的……但这不是arara的错。

事实上,命令行--aux-directory仅为 MiKTeX 发行版中的少数工具实现(它甚至不存在于 TeX Live 中)。

如果你从命令行运行,lualatex --help你将得到

  The following regular options are understood:

   --8bit                        ignored, input is assumed to be in UTF-8 encoding
   --credits                     display credits and exit
   --debug-format                enable format debugging
   --default-translate-file=     ignored, input is assumed to be in UTF-8 encoding
   --disable-write18             disable \write18{SHELL COMMAND}
   --draftmode                   switch on draft mode (generates no output PDF)
   --enable-write18              enable \write18{SHELL COMMAND}
   --etex                        ignored, the etex extensions are always active
   --[no-]file-line-error        disable/enable file:line:error style messages
   --[no-]file-line-error-style  aliases of --[no-]file-line-error
   --fmt=FORMAT                  load the format file FORMAT
   --halt-on-error               stop processing at the first error
   --help                        display help and exit
   --initialize                  be iniluatex, for dumping formats
   --interaction=STRING          set interaction mode (STRING=batchmode/nonstopmode/scrollmode/errorstopmode)
   --jobname=STRING              set the job name to STRING
   --kpathsea-debug=NUMBER       set path searching debugging flags according to the bits of NUMBER
   --lua=s                       load and execute a lua initialization script
   --[no-]mktex=FMT              disable/enable mktexFMT generation (FMT=tex/tfm)
   --nosocket                    disable the lua socket library
   --output-comment=STRING       use STRING for DVI file comment instead of date (no effect for PDF)
   --output-directory=DIR        use existing DIR as the directory to write files in
   --output-format=FORMAT        use FORMAT for job output; FORMAT is 'dvi' or 'pdf'
   --[no-]parse-first-line       disable/enable parsing of the first line of the input file
   --progname=STRING             set the program name to STRING
   --recorder                    enable filename recorder
   --safer                       disable easily exploitable lua commands
   --[no-]shell-escape           disable/enable \write18{SHELL COMMAND}
   --shell-restricted            restrict \write18 to a list of commands given in texmf.cnf
   --synctex=NUMBER              enable synctex
   --translate-file=             ignored, input is assumed to be in UTF-8 encoding
   --version                     display version and exit

Alternate behaviour models can be obtained by special switches

  --luaonly                run a lua file, then exit
  --luaconly               byte-compile a lua file, then exit

正如您所见,--aux-directory并不存在。


您可以根据您的编辑器获得类似的内容,例如 WinEdt 和 TeXMaker 有类似的选项。请参阅此线程:有没有办法配置 pdflatex 以使除 .tex 和 .pdf 文件之外的所有文件都变成隐藏文件?

答案2

这可能有点晚了,但对于所有仍在处理这些问题的人来说:

我专门创建了一个 Python 模块,用于将 LaTeX 和 BibTeX 引擎生成的辅助文件保存到所需的文件夹中。我的 GitHub 网站上有更多信息:https://github.com/amrane99/LaTeXCompiler. 安装模块后(使用 pip),您可以简单地.tex使用 lualatex 编译文件,无需 BibTeX 引擎,如下所示-- 生成的文件将存储在.aux_files folder--

LaTeXCompiler -file <full_path_to_file>.tex 
              -tex_engine lualatex -no_bib_engine -aux_folder .aux_files

我希望这有助于解决将辅助文件保存在单独文件夹中的常见问题,以便工作目录始终保持干净。

相关内容