Re: [NTG-context] Synchronization (.tex <-> .pdf)

At 15:38 22/12/2003, Steffen Wolfrum wrote:

I don't now how many ConTeXt user are aware of the idea of synchronization. In the LaTeX area of TeX it has a kind of tradition (Textures, srcltx, ...) for dvi output.

For PDF output Jérôme Laurens has now written a package (for use with iTeXMac and TeXShop) that makes the advantages from source-output synchronization also available for the todays standard PDF. But as so many things in the TeX world it is written as a "plug-in" for LaTeX.

Does anybody has an idea how to use this great achievement also with ConTeXt?
For those who would like to have a look at Jérôme's great work, I insert his code at the end of this email.

It's not that complicated to implement this kind of support in context, but i'd rather start from the editor's specs, so what is it that texshop wants as input (syntax and so)? Once that is known, i can have a look at it and see to what extend it can be supported in an non-interfering way. (furthermore i'd also support it in dvi mode)

(in one of old context manuals the typeset result is crosslinked to the input in a similar way; one reason for me to drop it is that in many cases my output is not in sync with the source, i.e. as soon as you move data around ...)

Hans

%%%% This is pdfsync.sty
%%%% 2003-12-08:
%%%% There is a bug in using everyvbox... novbox is now the default
%%%% bug fixed: $0$ was no visible
%%%% 2003-11-28:
%%%% comment characters added to fix an error. Don't know exactly the cause...
%%%% Default option is all...
%%%% Could not use \everydisplay... (bug in eqnarray)
%%%% 2003-11-19
%%%% first version
%%%% usage: \usepackage[display,cr,vbox]{PDFSYNC}
%%%% appends reference points before each \par and at each \hbox, inline math;
%%%% optionally also at every displayed math, with the option [display]
%%%% optionally also at every \cr, with the option [cr]
%%%% optionally also at every \vbox, with the option [vbox]
%%%%
%%%% If you want additional files to be parsed, please use the command
%%%% \include (which is redefined below)
%%%% This file is due to Piero D'Ancona and [EMAIL PROTECTED]
%%%% iTeXMac is supporting pdfsync
%%%% Copy this file to ~/Library/texmf/tex/latex or ~/Library/TeX/texmf/tex/latex if available
%%%% This file is distributed under the GPL and the "smart licence": please make things better if you can
%
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{pdfsync}[2003/12/08 v0.3]%
\newif\ifPDFSYNCOK%
\newif\ifPDFSYNCStar%
\newif\ifPDFSYNCPar \PDFSYNCPartrue%
\newif\ifPDFSYNCMath \PDFSYNCMathtrue%
\newif\ifPDFSYNCCr \PDFSYNCCrtrue%
\newif\ifPDFSYNCHBox \PDFSYNCHBoxtrue%
\newif\ifPDFSYNCVBox \PDFSYNCVBoxfalse%
\newif\ifPDFSYNCExtra \PDFSYNCExtratrue%
\newwrite\PDFPOS%
[EMAIL PROTECTED]@folio=0%
[EMAIL PROTECTED]@rder=0%
\DeclareOption{nopar}{\PDFSYNCParfalse}%
\DeclareOption{nomath}{\PDFSYNCMathfalse}%
\DeclareOption{nocr}{\PDFSYNCCrfalse}%
\DeclareOption{nohbox}{\PDFSYNCHBoxfalse}%
\DeclareOption{novbox}{\PDFSYNCVBoxfalse}%
\DeclareOption{vbox}{\PDFSYNCVBoxtrue}%
\DeclareOption{noextra}{\PDFSYNCExtrafalse}%
\DeclareOption{nothing}{\let\pdfsyncstart\pdfsyncstop}%
\ProcessOptions\relax%
\RequirePackage{everyshi}%
\ifx\pdfsavepos\undefined%
\wlog{Synchronization is only available with pdf. Use a dvi viewer instead.}%
\let\pdfsyncstart\relax%
\let\pdfsyncstop\relax%
\let\pdfsync\relax%
[EMAIL PROTECTED]
\else%
\def\pdfsyncstart{\global\PDFSYNCOKtrue}%
\def\pdfsyncstop{\global\PDFSYNCOKfalse}%
[EMAIL PROTECTED]@folio by [EMAIL PROTECTED]
\immediate\openout\PDFPOS\jobname.pdfsync%
\immediate\write\PDFPOS{\jobname}% control info
\immediate\write\PDFPOS{version 0}% control info
[EMAIL PROTECTED]
\def\PDFSYNC@@include#1{%
\immediate\write\PDFPOS{(#1}%
[EMAIL PROTECTED])}}%
\let\include\PDFSYNC@@include%
[EMAIL PROTECTED]
\ifPDFSYNCOK%
\pdfsavepos%

[EMAIL PROTECTED]
\def\position{\the\pdflastxpos\space\the\pdflastypos}%
\ifPDFSYNCStar%

[EMAIL PROTECTED]
\else%

[EMAIL PROTECTED]
\fi%
\expandafter\write\expandafter\PDFPOS\argument%
[EMAIL PROTECTED] by 1%
\fi}%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
% [EMAIL PROTECTED]@maketitle\pdfsyncstart}
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]

[EMAIL PROTECTED]@[EMAIL PROTECTED]@newline}}%
}%
\AtBeginDocument{%
\pdfsyncstart%
\ifPDFSYNCPar\global\let\p@@[EMAIL PROTECTED]@@r}\fi%
[EMAIL PROTECTED]
\ifPDFSYNCCr\everycr [EMAIL PROTECTED]
\ifPDFSYNCHBox\everyhbox [EMAIL PROTECTED]
\ifPDFSYNCVBox\everyvbox [EMAIL PROTECTED] is a bug here
[EMAIL PROTECTED]
}%
\fi%
\endinput

_______________________________________________
ntg-context mailing list
[EMAIL PROTECTED]
http://www.ntg.nl/mailman/listinfo/ntg-context

================================================================
Deze e-mail is door E-mail VirusScanner van Planet Internet gecontroleerd op virussen.
Op http://www.planet.nl/evs staat een verwijzing naar de actuele lijst waar op wordt gecontroleerd.
-------------------------------------------------------------------------
Hans Hagen | PRAGMA ADE | [EMAIL PROTECTED]
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com
-------------------------------------------------------------------------
-------------------------------------------------------------------------
_______________________________________________