为什么 Bakoma 处理 .tex 文件的速度如此之快?

为什么 Bakoma 处理 .tex 文件的速度如此之快?

巴科马是一款在 Windows 上具有实时预览功能的 LaTeX 编辑器。在 Linux 上,橡胶它有类似的功能,在 Windows 上,我使用编辑苏门答腊 PDF以及自动识别脚本来执行此操作。当文件.tex较小时,Gummi 和我的方法都提供 99.99% 的实时预览功能,即输入和更新的 PDF 内容出现之间的延迟小于 0.5 秒(甚至更多,我认为是 0.2 秒)。当文件.tex变大时,延迟也会变大。此外,由于频繁编译,CPU 变得更加繁忙。

但 Bakoma 没有这样的问题。有人知道 Bakoma 为何能如此快速地处理 .tex 文件吗?是否可以通过类似的机制让 MikTeX 或 TexLive 加速?


因为有人问我提到的方法,所以我需要通过回答我自己的问题来分享它,抱歉。

首先,对于橡胶Ubuntu

安装 Gummi 后,打开/home/(user account name)/.config/gummi/gummi.cfg 然后将其更改compile_timer为 0,但保留compile_scheme = on_idle。现在对于小型 .tex 文件,您可以实时预览。请注意,如果您将其更改为compile_scheme = real-time,那么即使 .tex 文件很小,CPU 也会变得非常繁忙。

为了编辑+苏门答腊PDF+微特克斯视窗 (我在 Windows 7 64 位上使用 MiKTeX 2.9):

  1. 在 WinEdt 中,转到Options\Execution\Modes。在Accessories,选择PDFLaTeX。在Console Attributes右侧,选择Background WindowHidden WindowWinEdt Console但不选择Pause / Do not Hide the Windo。在Process Folw,仅选择No Interaction并按OK

  2. 打开C:\Program Files (x86)\WinEdt Team\WinEdt 6\Exec\ExeCompiler.edt。删除以下内容:

Prompt("Another Application is already running in WinEdt's Console.> Terminate the application or wait for the execution to finish!");

替换ShowConsole(1)ShowConsole(-1),有 4 处需要替换。 替换FocusConsole(1);FocusConsole(-1);,有 3 处需要替换。 保存文件。

  1. 在 WinEdt 中,转到Options\Options InterfaceOn Menus and Toolbar选择Main MenuSHORTCUT="120::F9"在之后添加MACRO="Exe('%b\Exec\TeX\PDFLaTeX.edt');"SHORTCUT="119::F8"在之后添加MACRO="SaveDoc;"。请记住删除原始文件中出现的相同快捷方式。保存文件并重新加载。

  2. 安装自动识别. 创建以下脚本

     $size = FileGetSize("C:\test.tex")
     While 1
         sleep(40)
         If WinActive("WinEdt 6.0", "C:\test.tex") Then
             Send("{F8}")
             $newsize = FileGetSize("C:\test.tex")
             If $newsize <> $size AND ProcessExists("pdflatex.exe") = 0 Then 
                 $size = $newsize
                 Send("{F9}")
             EndIf
         EndIf   
     WEnd
    

然后运行此脚本后,当您编辑时C:\test.tex,您将获得实时预览。可以更改脚本以获取您打开的 .tex 文件名,但我还没有这样做。


更新:

使用向前搜索功能,我获得了类似于 Gummi 中的“查看器中自动滚动”的功能。请查看 youtube 上的演示视频

实时预览演示

答案1

根据他们的网站,它之所以能做到这一点,是因为它每次只格式化一页。

长文档 - TeX Word 性能
我想澄清一个错误信息:“BaKoMa TeX Word 仅对短文档有效,因为它在后台运行 TeX”。

一方面,BaKoMa TeX Word 确实运行 TeX 来显示文档。这种方法提供了真正的所见即所得预览(与原生 LaTeX 输出 100% 兼容)。但是,BaKoMa TeX Word 在编辑长文档时不会降低性能。我们的用户编辑 500 页以上的书籍,享受的速度甚至比编辑单页文档时更快!!!
这种可扩展性的原因是,在编辑文档时只需重新格式化一页文档。

我不知道它是如何做到这一点的。他们确实声称屏幕上显示的内容与页面上打印的内容相同。我怀疑这是否完全正确。也许文档的外观(字体、字距等)完全相同,但页面上的确切位置不仅仅受当前页面内容的影响。

相关内容