[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PVS-Help] Latex in pvs



> Hi, I'm having trouble running latex on my theories.  I get the
> message
> 
> The slot name is missing from the object
> #<auto-rewrite-plus-decl sq_simrel.nil> of class
> #<standard-class auto-rewrite-plus-decl> during operation slot-value
> 
> when running M-x latex-{theory,pvs-file}.  However there seems to be
> no trouble generating latex for proofs (M-x latex-proof).
> 
> It looks like bugs 770, 812 and 823 are relevant, but I can't seem
> to get any useful info from the bug reports.  Any help appreciated
> 
> Thanks,
> Rob

Hi Rob,

The latex printing for auto-rewrite declarations wasn't quite right - I'm
including the patches below.  Just add them to your ~/.pvs.lisp file in
your home directory (create it if it doesn't exist), and it should work.
Let me know if you have any other problems.

Thanks,
Sam

------

(defmethod pp-tex* :around ((decl auto-rewrite-decl))
  (with-slots (rewrite-names semi) decl
    (when (or (not *pretty-printing-decl-list*)
	      (not *pretty-printed-prefix*))
      (when *pretty-printing-decl-list*
	(setq *pretty-printed-prefix* t))
      (typecase decl
	(auto-rewrite-plus-decl (pp-tex-keyword 'AUTO_REWRITE+))
	(auto-rewrite-minus-decl (pp-tex-keyword 'AUTO_REWRITE-))
	(t (pp-tex-keyword 'AUTO_REWRITE)))
      (write-char #\space)
      (pprint-newline :miser))
    (pp-tex-rewrite-names rewrite-names)
    (when semi
      (write-char #\;))
    (pprint-newline :mandatory)))

(defun pp-tex-rewrite-names (names)
  (pprint-logical-block (nil names)
    (loop (pp-tex* (pprint-pop))
	  (pprint-exit-if-list-exhausted)
	  (write-char #\,)
	  (write-char #\space)
	  (pprint-newline :fill))))