reftex: Problems and Work-Arounds

 
 15 Problems and Work-arounds
 ****************************
 
    • LaTeX commands
      ‘\input’, ‘\include’, and ‘\section’ (etc.) statements have to be
      first on a line (except for white space).
 
    • Commented regions
      RefTeX sees also labels in regions commented out and will refuse to
      make duplicates of such labels.  This is considered to be a
      feature.
 
    • Wrong section numbers
      When using partial scans (‘reftex-enable-partial-scans’), the
      section numbers in the table of contents may eventually become
      wrong.  A full scan will fix this.
 
    • Local settings
      The label environment definitions in ‘reftex-label-alist’ are
      global and apply to all documents.  If you need to make definitions
      local to a document, because they would interfere with settings in
      other documents, you should use AUCTeX and set up style files with
      calls to ‘reftex-add-label-environments’, ‘reftex-set-cite-format’,
      ‘reftex-add-index-macros’, and ‘reftex-add-section-levels’.
      Settings made with these functions remain local to the current
      document.  SeeAUCTeX.
 
    • Funny display in selection buffer
      When using packages which make the buffer representation of a file
      different from its disk representation (e.g., x-symbol, isotex,
      iso-cvt) you may find that RefTeX’s parsing information sometimes
      reflects the disk state of a file.  This happens only in
      _unvisited_ parts of a multifile document, because RefTeX visits
      these files literally for speed reasons.  Then both short context
      and section headings may look different from what you usually see
      on your screen.  In rare cases ‘reftex-toc’ may have problems to
      jump to an affected section heading.  There are three possible ways
      to deal with this:
         − ‘(setq reftex-keep-temporary-buffers t)’
           This implies that RefTeX will load all parts of a multifile
           document into Emacs (i.e., there won’t be any temporary
           buffers).
         − ‘(setq reftex-initialize-temporary-buffers t)’
           This means full initialization of temporary buffers.  It
           involves a penalty when the same unvisited file is used for
           lookup often.
         − Set ‘reftex-initialize-temporary-buffers’ to a list of hook
           functions doing a minimal initialization.
      See also the variable ‘reftex-refontify-context’.
 
    • Labels as arguments to \begin
      Some packages use an additional argument to a ‘\begin’ macro to
      specify a label.  E.g., Lamport’s ‘pf.sty’ uses both
           \step{LABEL}{CLAIM}   and      \begin{step+}{LABEL}
                                             CLAIM
                                          \end{step+}
 
      We need to trick RefTeX into swallowing this:
 
           ;; Configuration for Lamport's pf.sty
           (setq reftex-label-alist
             '(("\\step{*}{}"       ?p "st:" "~\\stepref{%s}" 2 ("Step" "St."))
               ("\\begin{step+}{*}" ?p "st:" "~\\stepref{%s}" 1000)))
 
      The first line is just a normal configuration for a macro.  For the
      ‘step+’ environment we actually tell RefTeX to look for the _macro_
      ‘\begin{step+}’ and interpret the _first_ argument (which really is
      a second argument to the macro ‘\begin’) as a label of type ‘?p’.
      Argument count for this macro starts only after the ‘{step+}’, also
      when specifying how to get context.
 
    • Idle timers in XEmacs
      In XEmacs, idle timer restart does not work reliably after fast
      keystrokes.  Therefore RefTeX currently uses the post command hook
      to start the timer used for automatic crossref information.  When
      this bug gets fixed, a real idle timer can be requested with
           (setq reftex-use-itimer-in-xemacs t)
 
    • Viper mode
      With Viper mode prior to Vipers version 3.01, you need to protect
      RefTeX’s keymaps with
 
           (viper-harness-minor-mode "reftex")