Thanks a lot for your answer -- it almost works! I copied the definition that you gave to my .emacs, and now when inverse searching, the cursor jumps to the right line in both files (source file and region file), but it still activates the buffer with the region file.
How can I have the source file active after inverse search? On Wed, Aug 17, 2011 at 12:35 PM, Ivan Andrus <[email protected]> wrote: > > On Aug 9, 2011, at 7:43 PM, Jonas Frey wrote: > > > Hello, > > > > I have a problem with inverse search. I'm using pdflatex with synctex. > > When I have a document with multiple files and I compile only one file, > using > > C-c C-b, then inverse search does not jump to this file in emacs, but to > a temporary > > called _region_.tex. > > > > Of course, this is not what I want. If I find an error in the pdf for > example, and use > > inverse search to jump to the source and correct it, then the correction > will only be > > in the temporary file, and I might not even notice if I don't pay > attention. > > > > Does anybody have a solution for this? > > > > Thanks a lot, > > > > Jonas > > > I think this should work--it has worked on the few tests I have done, but I > haven't used it for very long. Let me know if you have any problems. > > (defadvice server-goto-line-column (after server-visit-region.tex > (line-col) > activate) > "When visiting a file from an external source, make sure that we > are not narrowed, since the external source almost certainly > uses absolute file line numbers." > (when (string-match "_region_.tex\\'" (buffer-file-name)) > (save-excursion ;; in case we don't find the other file we at least want > the right line... > (if (re-search-backward > "\message{ !name(\\([^)]+\\))\\(?: !offset(\\([-0-9]+\\))\\)?\\s > *}" nil nil) > (let ((file-name (match-string 1)) > (offset (match-string 2)) > (line (car (ad-get-arg 0))) > (col (cdr (ad-get-arg 0)))) > (if offset (setq line (+ line (string-to-number offset)))) > (find-file file-name nil) > ;; Ironic, but I think cleaner then reimplementing... > (server-goto-line-column (cons line col)) > (message "Moved from _region_.tex to line %s of %s." line > file-name)) > > ;; else > (message "This is _region_.tex, but I couldn't find the original > file!"))))) > > -Ivan > >
_______________________________________________ auctex mailing list [email protected] https://lists.gnu.org/mailman/listinfo/auctex
