diff options
Diffstat (limited to 'Build/source/texk/web2c/synctexdir/synctex-rec.ch1')
-rw-r--r-- | Build/source/texk/web2c/synctexdir/synctex-rec.ch1 | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/synctexdir/synctex-rec.ch1 b/Build/source/texk/web2c/synctexdir/synctex-rec.ch1 new file mode 100644 index 00000000000..b93863ac092 --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-rec.ch1 @@ -0,0 +1,92 @@ +Copyright (c) 2008 jerome DOT laurens AT u-bourgogne DOT fr + +This file is part of the SyncTeX package. + +License: +-------- +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE + +Except as contained in this notice, the name of the copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in this Software without prior written +authorization from the copyright holder. + +Notice: +------- +This file contains TeX changes for synctex support. +It implements the memory management for TeX like engines. +It must apply after synctex-rec.ch0 + +@x +@p procedure vlist_out; {output a |vlist_node| box} +@y +@p procedure vlist_out; {output a |vlist_node| box} +@z + +@x tex.web l.12533 +save_loc:=dvi_offset+dvi_ptr; left_edge:=cur_h; cur_v:=cur_v-height(this_box); +MISSING @<Start vlist {\sl Sync\TeX} information record@> before cur_v:=cur_v-height(this_box); +@y +save_loc:=dvi_offset+dvi_ptr; left_edge:=cur_h; +@<Start vlist {\sl Sync\TeX} information record@>; +cur_v:=cur_v-height(this_box); +@z + +@x tex.web l.12569 +@<Output a box in a vlist@>= +if list_ptr(p)=null then cur_v:=cur_v+height(p)+depth(p) +MISSING @<Record void list {\sl Sync\TeX} information@>; +@y +@<Output a box in a vlist@>= +if list_ptr(p)=null then begin + cur_v:=cur_v+height(p); + @<Record void list {\sl Sync\TeX} information@>; + cur_v:=cur_v+depth(p); +end +@z + +@x + MISSING IMPLEMENTATION: 0 synctag for medium sized node at mem[t] +@y + mem[t+medium_node_size-synctex_field_size].int:=0; {{\sl Sync\TeX}: do nothing, it is too late} +@z + +@x + MISSING IMPLEMENTATION: update the synctex information for node at mem[r] with size s +@y + mem[r+s-synctex_field_size].int:=synctex_tag; + mem[r+s-synctex_field_size+1].int:=line; +@z + +@x +MISSING IMPLEMENTATION: copy the synctex information for box node at mem[r] from node at mem[p] +@y +mem[r+box_node_size-synctex_field_size].int:=mem[p+box_node_size-synctex_field_size].int; +mem[r+box_node_size-synctex_field_size+1].int:=mem[p+box_node_size-synctex_field_size+1].int; +@z + +@x +MISSING IMPLEMENTATION: copy the synctex information for glue node at mem[r] from node at mem[p] +@y +mem[r+medium_node_size-synctex_field_size].int:=mem[p+medium_node_size-synctex_field_size].int; +mem[r+medium_node_size-synctex_field_size+1].int:=mem[p+medium_node_size-synctex_field_size+1].int; +@z |