在运行 MiKTeX 时
-shell=escape
和有什么区别--shell-escape
-synctex=1
、--synctex=1
和之间有什么区别--synctex=-1
答案1
-shell=escape
是无效的。
正确的语法是以两个连字符开头的。带有一个连字符 ( -shell-escape
) 的版本通常也可以使用。但正如 MiKTeX 的维护者 Christian Schenk 曾经写道的那样:
请注意,单个 '-' 前缀为一系列单字母选项(又称短选项)。也就是说,如果您指定
-unre
,则实际上是在调用这些选项:--update-fndb --print-only --user-roots
我建议你总是指定“长选项”(以两个“-”为前缀)。短选项(一个“-”)仅用于向后兼容。
答案2
关于问题 2:--synctex=1
创建一个压缩的 SyncTeX 文件,而--synctex=-1
创建一个未压缩的文件。(--synctex=0
根本不会创建 SyncTeX 文件。)
答案3
从命令行帮助:
-synctex=N Generate SyncTeX data for previewers if nonzero.
-synctex
和--synctex
都被接受,因此这三种变体都可以生成 SyncTeX 数据。
-shell
是一个未知的命令行选项并会产生错误。
--shell-escape
似乎被默许接受了。然而,在 MiKTeX 2.9 中,它不再在选项列表中。像epstopdf
需要能够“转入 shell”的软件包。在 TeX 中,这是通过该功能实现的。在 MiKTeX 中,它仅默认部分启用以避免安全问题:只允许使用众所周知的命令。您可以通过在 TeX 命令行上\write18
指定来完全启用该功能。--enable-write18