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
--