Jeremy

> What about the second patch ? I'm very interested in seeing it
> merged. 

I did a quick run of the attached patch (authored by you). 

When I do this:

#+ATTR_ODT: :anchor page
  [[./org-mode-unicorn.png]]

I see that the image is anchored to the page as expected. But the moment
I attach a caption and label to it like this:

#+CAPTION: caption
#+LABEL: label
#+ATTR_ODT: :anchor page
  [[./org-mode-unicorn.png]]

the image is no longer anchored to the page. I need to make additional
modifications to achieve the desired effect for captioned images. (Let
me do this modification myself.)

I am wondering what your use case is. For example, when someone does
this:

#+ATTR_ODT: :anchor page
  [[./org-mode-unicorn.png]]

some text 

#+ATTR_ODT: :anchor page
  [[./org-mode-unicorn.png]]

what do you think should be the desired behaviour. Practically, I see
that the images get super-posed one on top of the other on the same page
(i.e, effectively I see only one image). I am wondering what the trick
is to embed multiple page anchored images in the document.

>From 213cfc2a9c44a93639afe460fe2f8dbee793bcd1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Compostella?= <jeremy.composte...@gmail.com>
Date: Fri, 18 Nov 2011 16:39:17 +0100
Subject: [PATCH] org-odt.el: Add page anchor image type support.

This patch enables :
- The possibility to select the image anchor type with the ATTR_ODT tag
- The "page" anchor type
This patch is very useful to get "floating pictures".
---
 contrib/lisp/org-odt.el             |   15 +++++++++------
 contrib/odt/styles/OrgOdtStyles.xml |    5 +++++
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/contrib/lisp/org-odt.el b/contrib/lisp/org-odt.el
index 81abf5d..1d60b13 100644
--- a/contrib/lisp/org-odt.el
+++ b/contrib/lisp/org-odt.el
@@ -1495,12 +1495,12 @@ ATTR is a string of other attributes of the a element."
 	   (latex-frag (org-find-text-property-in-string
 			      'org-latex-src src))
 	   (category (and latex-frag "__DvipngImage__"))
-	   (embed-as (or embed-as
-			 (if latex-frag
-			     (or (org-find-text-property-in-string
-				  'org-latex-src-embed-type src) 'character)
-			   'paragraph)))
 	   (attr-plist (org-lparse-get-block-params attr))
+	   (embed-as (cond (embed-as)
+			   (latex-frag (or (org-find-text-property-in-string
+					     'org-latex-src-embed-type src) 'character))
+			   ((plist-get attr-plist :anchor))
+			   ('paragraph)))
 	   (size (org-odt-image-size-from-file
 		  src (plist-get attr-plist :width)
 		  (plist-get attr-plist :height)
@@ -1514,6 +1514,7 @@ ATTR is a string of other attributes of the a element."
 	(case embed-as
 	  (paragraph (org-odt-format-entity "DisplayImage" href width height))
 	  (character (org-odt-format-entity "InlineImage" href width height))
+	  (page (org-odt-format-entity "PageImage" href width height))
 	  (t (error "Unknown value for embed-as %S" embed-as))))
        (t
 	(org-odt-format-entity
@@ -1565,6 +1566,7 @@ ATTR is a string of other attributes of the a element."
 (defvar org-odt-entity-frame-styles
   '(("InlineImage" "__Figure__" ("OrgInlineImage" nil "as-char"))
     ("DisplayImage" "__Figure__" ("OrgDisplayImage" nil "paragraph"))
+    ("PageImage" "__Figure__" ("OrgPageImage" nil "page"))
     ("CaptionedDisplayImage" "__Figure__"
      ("OrgCaptionedImage"
       " style:rel-width=\"100%\" style:rel-height=\"scale\"" "paragraph")
@@ -1619,7 +1621,8 @@ ATTR is a string of other attributes of the a element."
 
 (defvar org-export-odt-default-image-sizes-alist
   '(("character" . (5 . 0.4))
-    ("paragraph" . (5 . 5)))
+    ("paragraph" . (5 . 5))
+    ("page" . (5 . 5)))
   "Hardcoded image dimensions one for each of the anchor
   methods.")
 
diff --git a/contrib/odt/styles/OrgOdtStyles.xml b/contrib/odt/styles/OrgOdtStyles.xml
index 5ec868a..df4f3f4 100644
--- a/contrib/odt/styles/OrgOdtStyles.xml
+++ b/contrib/odt/styles/OrgOdtStyles.xml
@@ -375,6 +375,11 @@
    <style:graphic-properties text:anchor-type="paragraph" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
   </style:style>
 
+  <!-- Page Images   -->
+  <style:style style:name="OrgPageImage" style:family="graphic" style:parent-style-name="Graphics">
+   <style:graphic-properties text:anchor-type="page" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="page" style:horizontal-pos="center" style:horizontal-rel="page"/>
+  </style:style>
+
   <!-- Captioned Images  -->
   <style:style style:name="OrgCaptionedImage" style:family="graphic" style:parent-style-name="Graphics">
    <style:graphic-properties style:rel-width="100%" text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="foreground" style:wrap="none" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none" style:shadow="none"/>
-- 
1.7.5.4

-- 

Reply via email to