anchor.diff:  	      (bnf-width (first items))
   	      ))))))
   
  -(defun latex-for-bnf (bnf &optional (indent 0))
  +(defun latex-for-bnf (bnf &optional (indent 0) top-level?)
     (cond ((symbolp bnf)
   	 (format nil "\\grnonterminal {~A}" 
   		 ;; string-upcase, string-downcase, string-capitalize
  
positive.code: 		  (make-string max-name-char-length :initial-element #\A)
  		  (make-string 37 :initial-element #\A))
  	  (dolist (bnf-expression bnf-expressions)
  	    (let* ((lhs-latex (latex-for-bnf (car bnf-expression)))
  		   (rhs-latex 
  		    (let ((*lhs-latex* lhs-latex))  ; *lhs-latex* is used only for debugging messages
  		      (latex-for-bnf (cdr bnf-expression)))))
  	      (format latex-stream "~&\\\\~%\\\\ ~A \\> $::=$ \\> \\> ~A~%"
  		      lhs-latex
  		      rhs-latex)
  
negative.code: 			(mapcar #'(lambda (x) (latex-for-bnf x)) 
  				items))))
  	     (parser-anyof-rule 
  	      (format nil 
  		      (if top-level?
  			  "  ~A~{ ~&\\\\  \\>  \\>   \\bnfalternative \\>  ~A~}" 
  			  "  {\\tt\\char40} ~A~{ \\bnfalternative ~A~} {\\tt\\char41}")
  		      (latex-for-bnf (first items) indent)
  		      (mapcar #'(lambda (x) (latex-for-bnf x indent))
  			      (rest items))))
  	     (parser-repeat-rule 
  	      (values
  