我使用的是 Textmate 和 MacTeX (texLive 1.12)。MiKTeX (Windows) 中有使用命令-aux-directory=DIR
和的选项-output-directory=DIR
。输出部分在 TeXLive 中有效,但 PDF 不会自动打开,主文件夹中仍有一个辅助文件和一个.fdb_latexmk
文件。
有人知道-aux-directory=DIR
TeXLive 是否有命令吗?
答案1
简短回答:不。该-aux-directory
选项是 MiKTeX 特有的,例如,您可以通过pdftex --help
TeX Live 看到:
用法:pdftex [选项]...[TEXNAME[.tex]] [命令] 或:pdftex [OPTION]... \FIRST-LINE 或:pdftex [OPTION]... &FMT ARGS 在 TEXNAME 上运行 pdfTeX,通常会创建 TEXNAME.pdf。 读取 TEXNAME 后,任何剩余的命令都将作为 pdfTeX 输入处理。 如果 TEXNAME 的第一行是 %&FMT,并且 FMT 是一个现有的 .fmt 文件, 使用它。否则使用“NAME.fmt”,其中 NAME 是程序调用名称, 最常见的是‘pdftex’。 或者,如果第一个非选项参数以反斜杠开头, 将所有非选项参数解释为一行 pdfTeX 输入。 或者,如果第一个非选项参数以 & 开头,则 下一个字将被视为要读取的 FMT,覆盖所有其他内容。任何 其余参数的处理如上所述。 如果没有指定参数或选项,则提示输入。 -draftmode 开启草稿模式(不生成输出 PDF) -enc 启用 encTeX 扩展,例如 \mubyte -etex 启用 e-TeX 扩展 [-no]-file-line-error 禁用/启用 file:line:error 样式消息 -fmt=FMTNAME 使用 FMTNAME 代替程序名或 %& 行 -halt-on-error 在第一次出现错误时停止处理 -ini 是 pdfinitex,用于转储格式;这是隐式的 如果程序名称是“pdfinitex”,则为 true -interaction=STRING 设置交互模式 (STRING=batchmode/nonstopmode/ 滚动模式/错误停止模式) -ipc 将 DVI 输出发送到套接字以及通常 输出文件 -ipc-start 为 -ipc,并在另一端启动服务器 -jobname=STRING 将作业名称设置为 STRING -kpathsea-debug=NUMBER 根据以下设置路径搜索调试标志 NUMBER 的位 [-no]-mktex=FMT 禁用/启用 mktexFMT 生成 (FMT=tex/tfm/pk) -mltex 启用 MLTeX 扩展,例如 \charsubdef -output-comment=STRING 使用 STRING 作为 DVI 文件注释,而不是日期 (对 PDF 无影响) -output-directory=DIR 使用现有的 DIR 作为写入文件的目录 -output-format=FORMAT 使用 FORMAT 进行作业输出;FORMAT 为“dvi”或“pdf” [-no]-parse-first-line 禁用/启用输入文件第一行的解析 -progname=STRING 将程序(和 fmt)名称设置为 STRING -recorder 启用文件名记录器 [-no]-shell-escape 禁用/启用 \write18{SHELL COMMAND} -shell-restricted 启用限制 \write18 -src-specials 将源特辑插入 DVI 文件 -src-specials=WHERE 在某些地方插入源特惠 DVI 文件。WHERE 是逗号分隔的值 列表:cr 显示 hbox math par parend vbox -synctex=NUMBER 如果非零,则为预览器生成 SyncTeX 数据 -translate-file=TCXNAME 使用 TCX 文件 TCXNAME -8bit 默认使所有字符可打印 -help 显示此帮助并退出 -version输出版本信息并退出 通过电子邮件将错误报告发送至[电子邮件保护]。
请注意,-output-directory
没有-aux-directory
可以通过快速测试来验证的东西(因为记录的行为和实际行为可能不同!)。
答案2
与 Sameer 的评论有些相似,这就是我使用 TeXstudio 所做的事情。
按以下方式修改pdflatex
命令(在 中找到):Preferences » Commands
sh -c "mkdir -p .temp & pdflatex -synctex=1 -interaction=nonstopmode -output-directory=.temp %.tex && cp .temp/%.pdf %.pdf"
这将创建一个隐藏目录.temp
(如果尚未存在)来存储辅助文件,同时将 pdf 输出保留在同一目录中。您可以根据自己的喜好修改上述内容并获得所需的任何目录结构。
答案3
在 Mac 上使用 Tex Live 时,有两个问题需要解决:(i) 辅助文件夹必须首先存在,(ii) 输出文件也存储在那里。通过定义两个用户命令可以轻松解决这些问题,例如在 texstudio 中:
- 用户命令 1 mkdir:检查辅助文件目录是否
./aux-files
存在,如果不存在则创建
mkdir -p ./aux 文件
- 用户命令2复制:将pdf文件从辅助目录复制到根目录
sh -c‘cp -f`查找./aux-files-type f-name“*.pdf”`。’
接下来,将默认编译器更改为
txs:///mkdir | txs:///pdflatex
这样就首先创建了目录。
将构建器更改为
txs:///编译 | txs:///查看 | txs:///复制
并且编译后pdf被复制到根目录。
这将解决这两个问题。