ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* [NTG-context] context not producing synctex output that my synctex program can use
@ 2023-11-11 23:59 Jim
  2023-11-12  9:26 ` [NTG-context] " Henning Hraban Ramm
  0 siblings, 1 reply; 4+ messages in thread
From: Jim @ 2023-11-11 23:59 UTC (permalink / raw)
  To: ConTeXt users

Hi,

I've read the wiki, looked at workflows-synctex.tex, searched the web, and
scratched my head, all to no avail.  So here I am, cap in hand...

When I run context, I get a .synctex file which has some information in it,
but I can't find any invocation of synctex to return anything useful.  Nor
does the okular example in the wiki (https://wiki.contextgarden.net/SyncTeX)
work for me.  Ocular starts, but always on the first page, regardless of
what line number I give it.

On the other hand, pdftex creates a .synctex file which my copy of synctex
find useful.

I am using the synctex from the current version of texlive:
        This is SyncTeX command line utility, version 1.5

Can anyone either
(a) enlighten me on what I am doing wrong; or
(b) definitively confirm that context is not currently playing nicely with
    synctex (the wiki notwithstanding) and I should give up this quest for
    now.

Thanks very much.

                                Jim
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [NTG-context] Re: context not producing synctex output that my synctex program can use
  2023-11-11 23:59 [NTG-context] context not producing synctex output that my synctex program can use Jim
@ 2023-11-12  9:26 ` Henning Hraban Ramm
  2023-11-12 11:00   ` Hans Hagen
  2023-11-15 14:32   ` Jim
  0 siblings, 2 replies; 4+ messages in thread
From: Henning Hraban Ramm @ 2023-11-12  9:26 UTC (permalink / raw)
  To: ntg-context

Am 12.11.23 um 00:59 schrieb Jim:
> Hi,
> 
> I've read the wiki, looked at workflows-synctex.tex, searched the web, and
> scratched my head, all to no avail.  So here I am, cap in hand...
> 
> When I run context, I get a .synctex file which has some information in it,
> but I can't find any invocation of synctex to return anything useful.  Nor
> does the okular example in the wiki (https://wiki.contextgarden.net/SyncTeX)
> work for me.  Ocular starts, but always on the first page, regardless of
> what line number I give it.
> 
> On the other hand, pdftex creates a .synctex file which my copy of synctex
> find useful.
> 
> I am using the synctex from the current version of texlive:
>          This is SyncTeX command line utility, version 1.5
> 
> Can anyone either
> (a) enlighten me on what I am doing wrong; or
> (b) definitively confirm that context is not currently playing nicely with
>      synctex (the wiki notwithstanding) and I should give up this quest for
>      now.

ConTeXt doesn’t work with the synctex binary, but with
mtxrun --script synctex

Unfortunately, it’s not a drop-in replacement, so it doesn’t work with 
most editors. (I was thinking about a translating wrapper script, but 
didn’t do anything yet.)

AFAIK TeXshop (MacOS) is the only TeX editor that supports ConTeXt’s 
workflow.

ConTeXt’s synctex format is much simpler than the “standard” LaTeX one 
and should be at least as good, but alas it needs support from the editors.

Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [NTG-context] Re: context not producing synctex output that my synctex program can use
  2023-11-12  9:26 ` [NTG-context] " Henning Hraban Ramm
@ 2023-11-12 11:00   ` Hans Hagen
  2023-11-15 14:32   ` Jim
  1 sibling, 0 replies; 4+ messages in thread
From: Hans Hagen @ 2023-11-12 11:00 UTC (permalink / raw)
  To: ntg-context

On 11/12/2023 10:26 AM, Henning Hraban Ramm wrote:
> Am 12.11.23 um 00:59 schrieb Jim:
>> Hi,
>>
>> I've read the wiki, looked at workflows-synctex.tex, searched the web, 
>> and
>> scratched my head, all to no avail.  So here I am, cap in hand...
>>
>> When I run context, I get a .synctex file which has some information 
>> in it,
>> but I can't find any invocation of synctex to return anything useful.  
>> Nor
>> does the okular example in the wiki 
>> (https://wiki.contextgarden.net/SyncTeX)
>> work for me.  Ocular starts, but always on the first page, regardless of
>> what line number I give it.
>>
>> On the other hand, pdftex creates a .synctex file which my copy of 
>> synctex
>> find useful.
>>
>> I am using the synctex from the current version of texlive:
>>          This is SyncTeX command line utility, version 1.5
>>
>> Can anyone either
>> (a) enlighten me on what I am doing wrong; or
>> (b) definitively confirm that context is not currently playing nicely 
>> with
>>      synctex (the wiki notwithstanding) and I should give up this 
>> quest for
>>      now.
> 
> ConTeXt doesn’t work with the synctex binary, but with
> mtxrun --script synctex

afaik there is no binary ... there is a library that has to be compiled 
into a pdf viewer that intercept some 'goto the text file' command and 
then launches an editor (afik the library has some heuristics build in 
wrt boxes and nesting and so); at the tex end there is also a library 
that kicks in addiional code for nodes and the backend (which is why 
enabling synctex will have an impact on runtime)

wrt the synctex file, that one is generated by context (so we don't use 
the synctex code in luatex and as luametatex has no backend there it's 
even completely absent ... context generates the file itself which is 
also a bit more efficient)

> Unfortunately, it’s not a drop-in replacement, so it doesn’t work with 
> most editors. (I was thinking about a translating wrapper script, but 
> didn’t do anything yet.)
> 
> AFAIK TeXshop (MacOS) is the only TeX editor that supports ConTeXt’s 
> workflow.

indeed texshop uses the approach that avoids the library and just calls 
mtxrun to figure out the file/line that relates to the position; this is 
more reliable because there is no need to recompile a viewer when 
synctex updates

you can run

   mtxrun --script synctex

on the synctex file and check what areas are there

> ConTeXt’s synctex format is much simpler than the “standard” LaTeX one 
> and should be at least as good, but alas it needs support from the editors.
simpler in the sense that we only output what is needed for the 
synchronization to work reliable; fwiw, my collegue already for many 
years uses context with synctex enabled with sumatra pdf in pretty 
complex setups: a mix of tex and xml files with deeply nested inputs and 
it works ok (so we also get to the right spot in an (included) xml file)

for synctex to work one has to call context with --synctex or put a 
directive on the topline of the file. Otherwise you won't get the right 
jobname. Of course it then still depends on the pdf viewer + lib used if 
things work out as expected.

there isn't much we can do about the viewer part unless tit is not 
locked into the binary but as flexible like the texshop viewer is

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [NTG-context] Re: context not producing synctex output that my synctex program can use
  2023-11-12  9:26 ` [NTG-context] " Henning Hraban Ramm
  2023-11-12 11:00   ` Hans Hagen
@ 2023-11-15 14:32   ` Jim
  1 sibling, 0 replies; 4+ messages in thread
From: Jim @ 2023-11-15 14:32 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Henning and Hans,

thanks for the replies.  I have two follow-up questions below, as well as
some other comments which other synctex users might find useful.

On Sun, Nov 12, 2023 at 10:26 (+0100), Henning Hraban Ramm wrote:

> Am 12.11.23 um 00:59 schrieb Jim:
>> Hi,

>> I've read the wiki, looked at workflows-synctex.tex, searched the web, and
>> scratched my head, all to no avail.  So here I am, cap in hand...

>> When I run context, I get a .synctex file which has some information in it,
>> but I can't find any invocation of synctex to return anything useful.  Nor
>> does the okular example in the wiki (https://wiki.contextgarden.net/SyncTeX)
>> work for me.  Ocular starts, but always on the first page, regardless of
>> what line number I give it.

>> On the other hand, pdftex creates a .synctex file which my copy of synctex
>> find useful.

>> I am using the synctex from the current version of texlive:
>> This is SyncTeX command line utility, version 1.5

>> Can anyone either
>> (a) enlighten me on what I am doing wrong; or
>> (b) definitively confirm that context is not currently playing nicely with
>> synctex (the wiki notwithstanding) and I should give up this quest for
>> now.

> ConTeXt doesn’t work with the synctex binary, but with
> mtxrun --script synctex

Thanks for that pointer.

Q1: Should that be in the wiki (https://wiki.contextgarden.net/SyncTeX)
    somewhere?

When I try that out, for example with
        mtxrun --script synctex --edit --name=a.tex --line=222 a.tex 
I am rewarded with
        sandbox         | variable 'linenumber' has no checker
(I tried various variations on that line I won't bore you with, but I keep
getting that error message.)

I also tried
        mtxrun --script synctex --goto --page=4 --x=100 --y=100 a.synctex 
and that silently returns without apparently doing anything.  (While I
don't have a 'scite' editor, I created a program called 'scite' that pops a
message up on the screen if it is called.)

Similar to --edit,
        mtxrun --script synctex --goto --page=19 --x=400 --y=180 --tolerance=99 --editor=scite  a.synctex
complains
        sandbox         | variable 'tolerance' has no checker

Although I don't know lua, the code is easy enough to read, but a short
dive in to mtx-synctex.lua did not enlighten me.

Q2: any enlightening comments on why I am getting these complaints.

In any case, --find and --report (appear to) give meaningful results, so I
can work with those.

> Unfortunately, it’s not a drop-in replacement, so it doesn’t work with most
> editors. (I was thinking about a translating wrapper script, but didn’t do
> anything yet.)

So much code to write, so little time ...    :-)

My immediate concern is forward search (i.e., editor tells viewer which
page to display) and that one should be easy for me to create a wrapper.
(I use emacs + auctex, which calls the synctex program, so writing my own
synctex wrapper looks easy.  Hopefully I won't regret using the word "easy"
later.)


> AFAIK TeXshop (MacOS) is the only TeX editor that supports ConTeXt’s
> workflow.

I've been thinking of patching some of evince's more annoying features,
if I do, maybe I should look into making it work with context.

> ConTeXt’s synctex format is much simpler than the “standard” LaTeX one and
> should be at least as good, but alas it needs support from the editors.

Indeed!




On Sun, Nov 12, 2023 at 12:00 (+0100), Hans Hagen wrote:

> On 11/12/2023 10:26 AM, Henning Hraban Ramm wrote:
>> Am 12.11.23 um 00:59 schrieb Jim:
>>> Hi,

>>> <second copy of my text elided>

>> ConTeXt doesn’t work with the synctex binary, but with
>> mtxrun --script synctex

> afaik there is no binary ... there is a library that has to be compiled into
> a pdf viewer that intercept some 'goto the text file' command and then
> launches an editor (afik the library has some heuristics build in wrt boxes
> and nesting and so); at the tex end there is also a library that kicks in
> addiional code for nodes and the backend (which is why enabling synctex will
> have an impact on runtime)

> wrt the synctex file, that one is generated by context (so we don't use the
> synctex code in luatex and as luametatex has no backend there it's even
> completely absent ... context generates the file itself which is also a bit
> more efficient)

>> Unfortunately, it’s not a drop-in replacement, so it doesn’t work with
>> most editors. (I was thinking about a translating wrapper script, but
>> didn’t do anything yet.)

>> AFAIK TeXshop (MacOS) is the only TeX editor that supports ConTeXt’s
>> workflow.

> indeed texshop uses the approach that avoids the library and just calls
> mtxrun to figure out the file/line that relates to the position; this is
> more reliable because there is no need to recompile a viewer when synctex
> updates

I just looked at the code of evince, and there is a fair bit of code there
to parse synctex files.  The virtue of just calling mtxrun is clear to me.

> you can run

> mtxrun --script synctex

> on the synctex file and check what areas are there

>> ConTeXt’s synctex format is much simpler than the “standard” LaTeX one
>> and should be at least as good, but alas it needs support from the
>> editors.

> simpler in the sense that we only output what is needed for the
> synchronization to work reliable; fwiw, my collegue already for many years
> uses context with synctex enabled with sumatra pdf in pretty complex setups:
> a mix of tex and xml files with deeply nested inputs and it works ok (so we
> also get to the right spot in an (included) xml file)

> for synctex to work one has to call context with --synctex or put a
> directive on the topline of the file. Otherwise you won't get the right
> jobname. Of course it then still depends on the pdf viewer + lib used if
> things work out as expected.

> there isn't much we can do about the viewer part unless tit is not locked
> into the binary but as flexible like the texshop viewer is

Thanks for your comments as well.  It seems evince has a compile-time
option to either build its own internal synctex or to use an external one.
With the latter and a wrapper script (or maybe even an option to evince to
use some alternate program to get synctex info) it might not be too hard
(*cough*) to get evince to play nicely with context.

Cheers.

                                Jim
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-15 15:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-11 23:59 [NTG-context] context not producing synctex output that my synctex program can use Jim
2023-11-12  9:26 ` [NTG-context] " Henning Hraban Ramm
2023-11-12 11:00   ` Hans Hagen
2023-11-15 14:32   ` Jim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).