anchor.diff:        (setf elements (cdr tail)))
       element))
   
  -(defun parse-file (file &key (parse-links-p t) (subdocument-tags '(:note :comment)))
  -  (let* ((parser (make-instance 'parser :parse-links-p parse-links-p :subdocument-tags subdocument-tags))
  +(defun parse-file (file &key (parse-links-p t) 
  +                   (subdocument-tags '(:note :comment))
  +                   (structured-data-tags '(:bibliography :bibitem)))
  +  (let* ((parser (make-instance 'parser 
  +                   :parse-links-p parse-links-p
  +                   :subdocument-tags subdocument-tags
  +                   :structured-data-tags structured-data-tags))
            (translator (make-basic-translator-chain (lambda (tok) (process-token parser tok))))
            (body (open-document parser)))
       (funcall translator #\Newline)
  
positive.code:        (open-paragraph parser "p")
         (process-token parser token)))))
  
  (defun open-blockquote-or-list (parser indentation)
    (let ((section (open-element parser "blockquote")))
      (with-bindings (parser token)
  
negative.code: (defun blank-p (token)
    (typep token 'blank-lines))
  
  (defun indentation-p (token)
    (typep token 'indentation))
  
  (defun %indentation-compare (token spaces cmp)
    (and (typep token 'indentation) (funcall cmp (spaces token) spaces)))
  
  