Thanks, John.

org-ref looks quite handy, although I would like to try and get basic functionality working without adding another package. Does it implement cross-references independently of reftex? Perhaps I need to abandon reftex, but this seems like it should be a trivial problem.

Commenting out the org-ref block, this setup seems to work in that I am able to insert citations with "M-x reftex-citation" after exporting to LaTeX. This suggests that (reftex-parse-all) is somewhat to blame. However, attempting to insert an equation reference with "M-x reftex-reference" still fails after exporting and works before the first export. I suspect TeX-master is indeed involved, as the backtrace suggests.

Returning to my original setup and commenting out the (reftex-parse-all) gives a similar result to your block; working citations, but cross-references that break after LaTeX export. One of the most baffling aspects is that killing and re-opening the buffer and re-starting Reftex does not eliminate the problem; I have to actually quit and re-open emacs.

Regards,
Adam

-- 
Adam Jackson
a.j.jackson@bath.ac.uk
Doctoral student: Integrated PhD Sustainable Chemical Technologies
University of Bath

On 25 Mar 2015, at 13:29, John Kitchin <jkitchin@andrew.cmu.edu> wrote:

If it is helpful, here is my setup in org-ref:

(require 'reftex)
(defun org-mode-reftex-setup ()
 "Setup `org-mode' and reftex for org-ref."
   (and (buffer-file-name)
        (file-exists-p (buffer-file-name))
        (global-auto-revert-mode t))
   (make-local-variable 'reftex-cite-format)
   (setq reftex-cite-format 'org))

;; define key for inserting citations
(define-key org-mode-map
 (kbd org-ref-insert-cite-key)
 org-ref-insert-cite-function)

(add-hook 'org-mode-hook 'org-mode-reftex-setup)

(eval-after-load 'reftex-vars
 '(progn
     (add-to-list 'reftex-cite-format-builtin
                  '(org "Org-mode citation"
                        ((?\C-m . "cite:%l")     ; default
                         (?d . ",%l")            ; for appending
                         (?a . "autocite:%l")
                         (?t . "citet:%l")
                         (?T . "citet*:%l")
                         (?p . "citep:%l")
                         (?P . "citep*:%l")
                         (?h . "citeauthor:%l")
                         (?H . "citeauthor*:%l")
                         (?y . "citeyear:%l")
                         (?x . "citetext:%l")
                         (?n . "nocite:%l")
                         )))))

I think you might be seeing something like a TeX-master problem. Did you try
this without revtex-parse-all?

Adam Jackson writes:

Hi,

I've been struggling with Reftex in org-mode. Initially things are fine,
then after exporting the document to LaTeX and continuing to work with
org-mode, using most of the reftex features (e.g. reftex-toc or trying to
insert a reference) produces a "Wrong type argument: stringp, nil" error
message.

The code in my init file to set up reftex:

   ;; Reftex
   (require 'reftex)
   (defun org-mode-reftex-setup ()
     (load-library "reftex")
     (and (buffer-file-name) (file-exists-p (buffer-file-name))
        ;enable auto-revert-mode to update reftex when bibtex file changes on disk
        (global-auto-revert-mode t)
        (reftex-parse-all)
         (define-key org-mode-map (kbd "C-c [") 'reftex-citation)
        ;add a custom reftex cite format to insert links
        ;; (reftex-set-cite-format "** [[papers:%l][%l]]: %t \n")
        )
   )

   (add-hook 'org-mode-hook 'org-mode-reftex-setup)

At the moment I still enter reftex-mode on demand with "M-x reftex-mode".
Here is the backtrace for the error:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
 re-search-forward(nil 10001 t)
 tex-main-file()
 reftex-TeX-master-file()
 reftex-insert-docstruct(#<buffer paper.org> t "e" nil nil t nil nil ("SEC:lagrange_gibbs_proof" "s" "We define the molar Gibbs free energy in a molecular gas mixture as \\begin{align} \\h" "/my/path/to/the/paper.org" nil) "" nil)
 byte-code("\306 \307\216\310 \210 \311 \f\203

--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu