我怎样才能在 LaTeX 重建 pdf 的同时继续使用 synctex 浏览它?

我怎样才能在 LaTeX 重建 pdf 的同时继续使用 synctex 浏览它?

正如这里所讨论的pdflatex 预览问题:编译期间仅可见超参考矩形的白色 PDF 页面?当我撰写论文时,需要花很长时间来编译(即使includeonly使用 latexmk 编译单个章节也需要 1..3 分钟),我无法查看 pdf 的最后一个版本,因此在编译期间无法继续工作,这会破坏我的工作流程,让我浪费时间等待,而我可以继续编辑我的文档。

我在 MacOS 10.6.8 上使用 TeXShop 2.43 和 TeXLive 2011。问题是

  • 只要 pdflatex 编译成功,我怎样才能继续浏览我的 pdf(最新编译版本)
  • 以及如何synctex从源文件跳转到 pdf 并转回?

第一个建议(感谢 jonalv)是

latexmk -pdf text.tex && mv text.pdf viewMe.pdf

但是,synctex更改后的文件名将无法工作,尤其是因为它与主文件的名称不同。有没有办法在 synctex 工作的情况下做到这一点?

答案1

我在我的文件中使用以下几行pdflatex作为预览器.latexmkrc

$preview_prefix="__preview__";
$preview_file = "$preview_prefix%R__.pdf";
$sync_file = "$preview_prefix%R__.synctex.gz";

$pdflatex="pdflatex -synctex=1 %O %S; cp %R.pdf $preview_file; cp %R.synctex.gz $sync_file";
$pdf_previewer = "start okular %O $preview_file > /dev/null 2>&1";

如果你的主文件名是例如main.tex,那么它将在pdflatex处理完你的tex文件后复制结果main.pdf main.synctex.gz进入__preview__main.pdf__preview__main.synctex.gz启动预览器__preview__main.pdf。在 Linux 下运行良好:通过 shift+单击,okular我可以返回到我的编辑器(正确设置后okular),此外,对于相当大的文档,复制通常足够快,因此我在查看时不会有任何延迟。

答案2

如果您使用的是 Mac,TeXShop版本 2.43(不确定是否在其他平台上可用)似乎可以完全按照您的要求表现出来。

编译后,PDF 文件会打开,我可以使用SyncPDF 打开相应的源文件。在开始编译新版本时,此功能似乎仍然有效(如果您在后续运行之间不删除 .aux 文件)。当然,如果源文件发生更改,导致源文件的相应位置发生更改,则所有赌注都无效。

相关内容