Function: org-element-latex-environment-parser

org-element-latex-environment-parser is a byte-compiled function defined in org-element.el.gz.

Signature

(org-element-latex-environment-parser LIMIT AFFILIATED)

Documentation

Parse a LaTeX environment.

LIMIT bounds the search. AFFILIATED is a list of which CAR is the buffer position at the beginning of the first affiliated keyword and CDR is a plist of affiliated keywords along with their value.

Return a new syntax node of latex-environment type containing
:begin, :end, :value, :post-blank and :post-affiliated
properties.

Assume point is at the beginning of the latex environment.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
(defun org-element-latex-environment-parser (limit affiliated)
  "Parse a LaTeX environment.

LIMIT bounds the search.  AFFILIATED is a list of which CAR is
the buffer position at the beginning of the first affiliated
keyword and CDR is a plist of affiliated keywords along with
their value.

Return a new syntax node of `latex-environment' type containing
`:begin', `:end', `:value', `:post-blank' and `:post-affiliated'
properties.

Assume point is at the beginning of the latex environment."
  (save-excursion
    (let ((case-fold-search t)
	  (code-begin (point)))
      (looking-at org-element--latex-begin-environment)
      (if (not (re-search-forward (format org-element--latex-end-environment
					(regexp-quote (match-string 1)))
				limit t))
	  ;; Incomplete latex environment: parse it as a paragraph.
	  (org-element-paragraph-parser limit affiliated)
	(let* ((code-end (progn (forward-line) (point)))
	       (begin (car affiliated))
	       (value
                (org-element-deferred-create
                 t #'org-element--substring
                 (- code-begin begin)
                 (- code-end begin)))
	       (end (progn (skip-chars-forward " \r\t\n" limit)
			   (if (eobp) (point) (line-beginning-position)))))
	  (org-element-create
           'latex-environment
	   (nconc
	    (list :begin begin
		  :end end
		  :value value
		  :post-blank (count-lines code-end end)
		  :post-affiliated code-begin)
	    (cdr affiliated))))))))