Jelajahi Sumber

Merge branch 'hotfix-7.8.06' of orgmode.org:org-mode into hotfix-7.8.06

Bastien Guerry 13 tahun lalu
induk
melakukan
5f7d9bffd7
1 mengubah file dengan 17 tambahan dan 13 penghapusan
  1. 17 13
      lisp/org-odt.el

+ 17 - 13
lisp/org-odt.el

@@ -1556,10 +1556,14 @@ value of `org-export-odt-fontify-srcblocks."
 	(org-lparse-end-paragraph)
 	(org-lparse-end-paragraph)
 	(org-lparse-insert-list-table
 	(org-lparse-insert-list-table
 	 `((,(org-odt-format-entity
 	 `((,(org-odt-format-entity
-	      (if caption "CaptionedDisplayFormula" "DisplayFormula")
-	      href width height :caption caption :label nil)
-	    ,(if (not label) ""
-	       (org-odt-format-entity-caption label nil "__MathFormula__"))))
+	      (if (not (or caption label)) "DisplayFormula"
+		"CaptionedDisplayFormula")
+	      href width height :caption caption :label label)
+	    ,(if (not (or caption label)) ""
+	       (let* ((label-props (car org-odt-entity-labels-alist)))
+		 (setcar (last label-props) "math-label")
+		 (apply 'org-odt-format-label-definition
+			caption label-props)))))
 	 nil nil nil ":style \"OrgEquation\"" nil '((1 "c" 8) (2 "c" 1)))
 	 nil nil nil ":style \"OrgEquation\"" nil '((1 "c" 8) (2 "c" 1)))
 	(throw 'nextline nil))))))
 	(throw 'nextline nil))))))
 
 
@@ -2040,9 +2044,10 @@ See `org-odt-add-label-definition' and
 See `org-odt-entity-labels-alist' for known CATEGORY-NAMEs.")
 See `org-odt-entity-labels-alist' for known CATEGORY-NAMEs.")
 
 
 (defvar org-odt-label-styles
 (defvar org-odt-label-styles
-  '(("text" "(%n)" "text" "(%n)")
-    ("category-and-value" "%e %n%c" "category-and-value" "%e %n")
-    ("value" "%e %n%c" "value" "%n"))
+  '(("math-formula" "%c" "text" "(%n)")
+    ("math-label" "(%n)" "text" "(%n)")
+    ("category-and-value" "%e %n: %c" "category-and-value" "%e %n")
+    ("value" "%e %n: %c" "value" "%n"))
   "Specify how labels are applied and referenced.
   "Specify how labels are applied and referenced.
 This is an alist where each element is of the
 This is an alist where each element is of the
 form (LABEL-STYLE-NAME LABEL-ATTACH-FMT LABEL-REF-MODE
 form (LABEL-STYLE-NAME LABEL-ATTACH-FMT LABEL-REF-MODE
@@ -2097,7 +2102,7 @@ below.
 (defvar org-odt-category-map-alist
 (defvar org-odt-category-map-alist
   '(("__Table__" "Table" "value")
   '(("__Table__" "Table" "value")
     ("__Figure__" "Illustration" "value")
     ("__Figure__" "Illustration" "value")
-    ("__MathFormula__" "Text" "text")
+    ("__MathFormula__" "Text" "math-formula")
     ("__DvipngImage__" "Equation" "value")
     ("__DvipngImage__" "Equation" "value")
     ;; ("__Table__" "Table" "category-and-value")
     ;; ("__Table__" "Table" "category-and-value")
     ;; ("__Figure__" "Figure" "category-and-value")
     ;; ("__Figure__" "Figure" "category-and-value")
@@ -2158,7 +2163,7 @@ captions on export.")
      (?n . ,(org-odt-format-tags
      (?n . ,(org-odt-format-tags
 	     '("<text:sequence text:ref-name=\"%s\" text:name=\"%s\" text:formula=\"ooow:%s+1\" style:num-format=\"1\">" . "</text:sequence>")
 	     '("<text:sequence text:ref-name=\"%s\" text:name=\"%s\" text:formula=\"ooow:%s+1\" style:num-format=\"1\">" . "</text:sequence>")
 	     (format "%d" seqno) label counter counter))
 	     (format "%d" seqno) label counter counter))
-     (?c . ,(or (and caption (concat ": " caption)) "")))))
+     (?c . ,(or caption "")))))
 
 
 (defun org-odt-format-label-reference (label category counter
 (defun org-odt-format-label-reference (label category counter
 					     seqno label-style)
 					     seqno label-style)
@@ -2187,10 +2192,9 @@ captions on export.")
 	 (format "Unable to resolve reference to label \"%s\"" label))))))
 	 (format "Unable to resolve reference to label \"%s\"" label))))))
 
 
 (defun org-odt-format-entity-caption (label caption category)
 (defun org-odt-format-entity-caption (label caption category)
-  (or (and label
-	   (apply 'org-odt-format-label-definition
-		  caption (org-odt-add-label-definition label category)))
-      caption ""))
+  (if (not (or label caption)) ""
+    (apply 'org-odt-format-label-definition caption
+	   (org-odt-add-label-definition label category))))
 
 
 (defun org-odt-format-tags (tag text &rest args)
 (defun org-odt-format-tags (tag text &rest args)
   (let ((prefix (when org-lparse-encode-pending "@"))
   (let ((prefix (when org-lparse-encode-pending "@"))