Browse Source

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

Bastien Guerry 13 years ago
parent
commit
5f7d9bffd7
1 changed files with 17 additions and 13 deletions
  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 "@"))