Rasmus <ras...@gmx.us> writes: > (:latex-default-table-mode nil nil org-latex-default-table-mode) > (:latex-diary-timestamp-format nil nil org-latex-diary-timestamp-format) > (:latex-footnote-separator nil nil org-latex-footnote-separator) > + (:latex-footnote-defined-format nil nil > org-latex-footnote-defined-format)
How dare you break the lexical order of the properties here? :) > @@ -1246,6 +1257,8 @@ Eventually, if FULL is non-nil, wrap label within > \"\\label{}\"." > org-latex-math-environments-re > (org-element-property :value datum)) > "eq:")) > + (footnote-reference "fn:") > + (footnote-definition "fn:") You don't seem to use the latter. Does it still make sense to provide it? > + (format "\\footnote{%s%s}" (org-trim (org-export-data def info)) > + ;; Only insert a label if there exist another > + ;; reference to def. > + (if (org-element-map > + (plist-get info :parse-tree) > + 'footnote-reference > + (lambda (f) > + (and (not (eq f footnote-reference)) > + (eq def (org-export-get-footnote-definition f > info)))) > + info t) > + (org-trim (org-latex--label def info t t)) > + "")) I suggest to avoid calling repeatedly `org-export-get-footnote-definition'. Also, if the footnote reference is anonymous, there is no point in calling `org-element-map'. The following is more efficient: (format "\\footnote{%s%s}" (org-trim (org-export-data def info)) ;; Only insert a label if there exist another reference to def. (cond ((not label) "") ((org-element-map (plist-get info :parse-tree) 'footnote-reference (lambda (f) (and (not (eq f footnote-reference)) (equal (org-element-property :label f) label) (org-latex--label def info t t))) info t)) (t ""))) Thank you for you work. Regards,