[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [odt] [PATCH] Anchoring image to a page
From: |
Jambunathan K |
Subject: |
[O] [odt] [PATCH] Anchoring image to a page |
Date: |
Fri, 25 Nov 2011 01:51:43 +0530 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.91 (windows-nt) |
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?= <address@hidden>
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
--