On 2009-05-10, Dongsheng Xing <[email protected]> wrote:
>
> Hello, Nickolay,
>
> SyncTeX and my patch are "two roads to Rome".  While in my opinion, my
> patch is more concise and more efficient than SyncTex. :)
>
> My patch is based on the native DVI standard, which was designed by David R. 
> Fuchs in 1979. 
> There are four special DVI opcodes XXX1~XXX4 (opcode number = 239~242). 
> The corresponding TeX source location in the is stored in the DVI file as 
> (opcode:239 arguments:"src 10 main.tex").
> Since the information is stored inline, little amount of bytes are required.
>
> SyncTeX puts the corresponding TeX source location in a file 
> "main.synctex.gz", in which both the positions in the DVI file and the 
> positions in the TeX source are stored. 
> Therefore, a lot of bytes are required.
>
> For example, I compiled "main.tex" by "latex --src-specials main.tex", and I 
> got main.dvi(131,548 bytes)
> Then I compiled "main.tex" by "latex -synctex=1 main.tex",
> and I got main.dvi(128,524 bytes) main.synctex.gz(233,224 bytes).
> Therefore, my patch requires less disk space.
>
> Besides, my patch is concise, since there is already an interface which cope 
> with DVI XXXi opcodes, in backend/dvi/mdvi-lib/special.c
> Hence, my patch is shorter than the codes in
> http://itexmac.sourceforge.net/SyncTeXPackage.zip
>
> And my patch is efficient: The TeX position informations are attached onto 
> DviContext only when the DVI file is loaded/reloaded. Just one linked-list is 
> created in the PC memory, which stores "filename linenumber position". But in 
> SyncTeX, a bunch of objects such as synctex_node_t, synctex_scanner_t are 
> created, requiring more PC memory.

OTOH, synctex is more general, in that it works with both dvi and pdf
files.  (I myself use pdf + synctex + evince + vim).

-Yozo


_______________________________________________
Evince-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/evince-list

Reply via email to