编译选项中 - 和 -​- 之间的区别

编译选项中 - 和 -​- 之间的区别

在运行 MiKTeX 时

  1. -shell=escape和有什么区别--shell-escape
  2. -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

相关内容