# Difference between revisions of "SyncTeX"

SyncTeX is a program that puts a lot of anchors in the output file that link to the corresponding position in the source file. This allows you to quickly jump from PDF to source.

## Usage

You can use the --synctex switch to enable SyncTeX.

So in MkIV you can run

context --synctex jobname

and in MkII you can use

texexec --synctex jobname

Alternatively you can add one of the following commands to your MkIV document:

\setupsynctex[state=start,method=min] % clickable words
\setupsynctex[state=start,method=max] % more efficient clickable ranges

This will create a file jobname.synctex. The command

context --purge

or next run without --synctex will remove the file again.

To see what became clickable, use one of

\enabletrackers[system.synctex.visualize]
\enabletrackers[system.synctex.visualize=real]

This file can be used by your editor and PDF viewer to jump back and forth between the source and the PDF.

## Editors & Viewers

### TeXWorks

You may need to modify the command for executing ConTeXt first (you need to add --synctex switch in preferences).

### Evince, Okular & Kile

Okular (the KDE PDF viewer) and Evince (the GNOME one) support SyncTeX. (The latter since version 2.32.0)

To forward something from a text editor to Okular, do

okular --unique '\${pdffile}#src:\${linenumber} \${texfile}'

Kile’s (the KDE TeX IDE) ForwardPDF function should support SyncTeX, but it doesn’t seem to work with ConTeXt at the time of writing

### Skim.app & TextMate (Mac OS X)

In Skim/Preferences/Sync choose TextMate. The key combination

Shift + Apple + MouseClick

will bring you to the corresponding line in text editor.

In TextMate I have created my own command inside the ConTeXt bundle:

• Save: Nothing
• Command(s)
#!/bin/bash
pdf=\${TM_FILEPATH%tex}pdf
/Applications/Skim.app/Contents/SharedSupport/displayline -r "\$TM_LINE_NUMBER" "\${pdf}"
• Input: None