As I understand it, this is how the
synctex mechanism works:
There is no direct association between anything in the PDF and anything in the source.
When you use the
--synctex=1 option, the engine (e.g. pdfTeX) writes an additional file (
.synctex.gz) linking locations in the PDF with locations in the source.
A suitable PDF viewer takes the location of a position in the PDF and passes it to the editor. For example, I have Okular configured to use the command
kile --line %l, with Kile as the editor.
If the editor supports the feature, it uses the file written during compilation to lookup that location and the corresponding location in the source.
The editor then moves to the source location which it has looked up. (Or opens the file and moves to the location.)
Without the lookup file, there's no connection between the PDF content and the source content.
Here's an example
.synctex.gz file for a simple 'Hello.' document:
Input:1:<path to tex file>
Input:4:<path to aux file>
Input:5:<path to aux file>
If I click on the 'Hello.' in the output, Okular passes my location to Kile, which looks that up in the
.synctex.gz and finds out that it corresponds to line
13 in the source, so it displays line 13 in the
[I say 'roughly' because obviously there are issues of which file, which page etc., as well. But the above gives the general idea.]
If the PDF has been annotated as-is, so that the locations in the PDF still correspond sufficiently well to the locations in the source, then you can use the location of content near an added annotation to move to the corresponding location in the source. However, if the PDF has had, say, a cover page added or the content itself has been altered, then this would not work very well.
However, pax allows you to extract and reinsert PDF annotations. This may be a more promising avenue of enquiry than a mechanism which relies on a possibly stale