Linking to other sections of text

Is there a way to create some sort of bookmark code in one location (of a Bible module) and then refer to it in other footnotes, so that ptxprint would automatically find that bookmark and do something based on where it is? Since this would be in a module, we’d like to insert the original bookmark manually and not rely on chapter:verse referencing.

The first request would be to have footnotes which could fill in data themselves at the point when ptxprint runs, so that they would say something like “see the text on lines X-Y on page ZZ”, where the X-Y and ZZ aren’t numbers we know beforehand (and which could change from printrun to printrun).

Secondly, if the above is possible can we also create linking in pdfs so that it will jump a person to that page automatically?

I believe that a mechanism for this already exists using \zlabel, \zpage, \zref milestones (for cross-referencing page numbers). I’m not sure if we have any way to make those clickable links yet.

More details are available here in this document on Github.

USFM includes links and anchors. Linking Attributes — Unified Standard Format Markers 3.0.0 documentation
These have been mostly implemented.

  • \jmp |link-id="target"\jmp* will provide a jump target in the PDF file.
  • \w text|link-href="#target"\w* jump to a target.
  • \w text| link-href="REV 20:14"\w* should jump to a verse, assuming it exists in the document.
  • \w text|link-href="https://website.com"\w* should work as long as your PDF view allows off-document links.
  • \w text|link-href="prj:RSV52 GEN 1:1"\w* has not been implemented. How is it supposed to work outside Paratext?

Thanks. The \zlabel and \zpage markers do exactly what I needed for page numbers. I’m assuming that having a similar anchor and reference to a line number isn’t currently enabled. I’m wondering if in xetex that’s theoretically possible (in which case I’ll write up a feature request), or if line numbering isn’t even possible.

I’ll test out the pdf linking later.