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