\synctex=1 为“未定义的控制序列”

\synctex=1 为“未定义的控制序列”

我对 LaTeX 还很陌生;在我的家用电脑上,我已经lualatex设置了我的最初几个(非常简单的)LaTeX 文档,在 OS X 上使用 Skim.app 进行查看,等等等等……

…但是现在我已经在笔记本电脑上克隆了那个 git 存储库,安装了相同版本的 MacTeX 发行版(两者都没有自定义或特殊配置!),我得到了这个错误同一个文件在我的家用电脑上编译正常:

This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238) 
 restricted \write18 enabled.
(./Exercise-2.tex
LaTeX2e <2015/01/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
! Undefined control sequence.
l.1 \synctex
          =1
? 

前几行是,

\synctex=1
\documentclass[
   paper=a4,
   fontsize=11pt,
   parskip=no,
   fleqn
]{scrartcl}

...

我是否synctex以某种方式错误地使用了声明,或者......

答案1

对于 2015 年之前的 LaTeX 内核,该原语应该这样调用:

\luatexsynctex=1

在当前内核中,该luatex前缀已经被忽略。

为了确保万无一失,请执行以下操作:

\ifdefined\synctex\synctex\else\luatexsynctex\fi=1

您可以在日志文件的顶部看到内核版本;例如,当前版本会打印以下横幅:

This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238) 
 restricted \write18 enabled.
(./testsy.tex
LaTeX2e <2016/02/01>
Babel <3.9n> and hyphenation patterns for 79 languages loaded.

你会看到内核发布日期在LaTeX2e

相关内容