Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SYNCTEX(5)		  FreeBSD File Formats Manual		    SYNCTEX(5)

NAME
     synctex --	Synchronize TeXnology help file

DESCRIPTION
     Synchronize TeXnology help	file (synctexs)	are text files that help in-
     put/output	synchronization	during document	preparation with the TeX type-
     setting system.

BASICS
     The structure of this file	should not be considered public, in the	sense
     that no one should	need to	parse its contents, except the synctex command
     line utility, and the synctex_parser library.  Unless it is absolutely
     not avoidable, access to the contents of the synctex file should only be
     made through requests made	to the synctex command line utility.

STRUCTURE
     The element structure of a	synctex	file is	a list of text line records as
     follows.  `*', `+', and `?' have their usual EBNF meanings: `*' means
     zero or more, `+' means one or more, and `?' means	zero or	one (i.e.,
     optional).

	   <SyncTeX> ::= (The whole contents in	4 sections)

		 <Preamble>

		 <Content>

		 <Postamble>

		 <Post Scriptum>

     Each section starts with the first	occurrence of a	sectioning line, and
     ends with the next	section, if any.  In the following definitions,	we do
     not mention the section ending condition.

The preamble
	   <Preamble> ::=

		 "SyncTeX Version:" <Version Number> <EOL>

		 <Input	Line>*

		 "Magnification:" <TeX magnification> <EOL>

		 "Unit:" <unit in scaled point>	<EOL>

		 "X Offset:" <horizontal offset	in scaled point> <EOL>

		 "Y Offset:" <vertical offset in scaled	point> <EOL>

	   <Input Line>	::= "Input:" <tag> ":" <File Name> <EOL>

The content
	   <Content> ::=

		 <byte offset record>

		 "Content:" <EOL>

		 <sheet(1)>

		 <Input	Line>*

		 <sheet(2)>

		 <Input	Line>*

		 ...

		 <sheet(N)>

		 <Input	Line>*

	   <byte offset	record>	::= "!"	<byte offset> <end of record>

	   <sheet(n)> ::=

		 <byte offset record>

		 "{" <the integer n> <end of record>/

		 <box content>*

		 <byte offset record>

		 "}" <the integer n> <end of record>

     The <box content> describes what is inside	a box.	It is either a verti-
     cal or horizontal box, with some records related to glue, kern or math
     nodes.

	   <box	content> ::=

		 <vbox section>|<hbox section>

		 |<void	vbox record>|<void hbox	record>

		 |<current record>|<glue record>|<kern record>|<math record>

	   <vbox section> ::=

		 "[" <link> ":"	<point>	":" <size> <end	of record>

		 <box content>*

		 "]" <end of record>

	   <hbox section> ::=

		 ( <link> ":" <point> ":" <size> <end of record>

		 <box content>*

		 ")" <end of record>

     Void boxes:

	   <void vbox record> ::= "v" <link> ":" <point> ":" <size> <end of
	   record>

	   <void hbox record> ::= "h" <link> ":" <point> ":" <size> <end of
	   record>

	   <size> ::= <Width> "," <Height> "," <Depth>

	   <Width> ::= <integer>

	   <Height> ::=	<integer>

	   <Depth> ::= <integer>

	   <link> ::= <tag> ","	<line>(	"," <column>)?

	   <line> ::= <integer>

	   <column> ::=	<integer>

     The forthcoming records are basic one liners.

	   <current record> ::=	"x" <link> ":" <point> <end of record>

	   <kern record> ::= "k" <link>	":" <point> ":"	<Width>	<end of
	   record>

	   <glue record> ::= "g" <link>	":" <point> <end of record>

	   <math record> ::= "$" <link>	":" <point> <end of record>

The postamble
     The postamble closes the file If there is no postamble, it	means that the
     typesetting process did not end correctly.

	   <Postamble>::=

		 <byte offset record>

		 "Count:" <Number of records> <EOL>

The post scriptum
     The post scriptum contains	material possibly added	by 3rd parties.	 It
     allows to append some transformation (shift and magnify).	Typically, one
     applies a dvi to pdf filter with offset options and magnification,	then
     he	appends	the same options to the	synctex	file, for example

		   synctex update -o foo.pdf -m	0.486 -x 9472573sp -y 13.3dd source.dvi

	   <Post Scriptum>::=

		 <byte offset record>

		 "Post Scriptum:" <EOL>

		 "Magnification:" <number> <EOL> (Set additional
		 magnification)

		 "X Offset:" <dimension> <EOL> (Set horizontal offset)

		 "Y Offset:" <dimension> <EOL> (Set vertical offset)
     This second information will override the offset and magnification	previ-
     ously available in	the preamble section.  All the numbers are encoded us-
     ing the decimal representation with "C" locale.

USAGE
     The <current record> is used to compute the visible size of hbox's.  The
     byte offset is an implicit	anchor to navigate the synctex file from sheet
     to	sheet.

Independant			 Mar 13, 2012			   Independant

NAME | DESCRIPTION | BASICS | STRUCTURE | The preamble | The content | The postamble | The post scriptum | USAGE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=synctex&sektion=5&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help