0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-22 11:10:42 +00:00
Commit graph

80 commits

Author SHA1 Message Date
Jambunathan K 2ded8ccb85 org-odt.el: Fix performance issue on manifest file writing
* contrib/lisp/org-odt.el (org-odt-write-manifest-file): Don't
use write-region.

The org-odt-write-manifest-file function take too much time -
several seconds for 164 files. This patch provides a cheaper
implementation (hundredths of a seconds for 164 files).

Original patch by Jérémy Compostella
<jeremy.compostella@gmail.com>.  Rewritten by Jambunathan K to
minimize the actual number of lines changed.

TINYCHANGE.

From http://www.mail-archive.com/emacs-orgmode@gnu.org/msg49248.html
I'm currently generating a road book for a trip from different
Org-Mode file and other data. It results in a 13 thousands
lines Org-Mode file and I have some performance issues. Using
the ELP package, I isolated the two main bottlenecks.

One is in org-odt : the org-odt-write-manifest-file function
is called once and takes 5.546672 seconds to write a 167 lines
file. I rewrote this function and now it takes 0.01606 seconds
to write the same file.
2011-11-24 23:46:57 +05:30
Jambunathan K e10722c9cd org-odt.el: Fix a bug wrt label references
* contrib/lisp/org-odt.el (org-odt-fixup-label-references)
(org-export-odt-preprocess-label-references): Modified.

Workaround for issue reported here:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00773.html
2011-11-23 06:01:33 +05:30
Jambunathan K e28e1038c4 org-odt.el: Rescale a large images so that it fits in text area
* contrib/lisp/org-odt.el (org-export-odt-max-image-size): New
variable.
(org-odt-image-size-from-file): Honor above variable.

Ivars Finvers <ifinvers@shaw.ca> says -
   One minor issue that I came across in using the ODT
exporter relates to the size of embedded images.  I often need
to include plots of simulation results in my documents.  These
plots can be larger than a normal page, which causes problems
in the text flow.  In LaTeX, I've grown used to being able to
automatically rescale a plot to match the maximum text width
of the document.  It would be useful to have such a feature
for the ODT exporter.
2011-11-17 23:58:42 +05:30
Jambunathan K c5081b8f14 org-lparse.el & co: Bring over few commits
Bring over following commits:
- 97538eb9
- 5c53026d
- 3482284b
- 58f1dbcc
- 8b16fae4
- 106993d3
2011-11-13 13:55:22 +05:30
Jambunathan K 311146aa21 Add support for embedding an equation via a link to its *.odf file
* contrib/lisp/org-odt.el (org-odt-is-formula-link-p):
Recognize *.mml and *.mathml as mathml files.  Recognize *.odf
files as OpenDocument formula file.
(org-odt-copy-formula-file): Use `org-odt-zip-extract-one' to
handle ODF formula files.
(org-export-odt-format-formula): If a ODF formula link has no
caption or label, embed it inline.  Otherwise embed it as
displayed.
2011-11-08 05:08:26 +05:30
Jambunathan K a69547c61c Add command to export LaTeX fragments to OpenDocument formula file
* contrib/lisp/org-lparse.el (org-lparse-and-open): Add a new
param `file-or-buf' to accommodate
`org-export-as-odf-and-open'.
* contrib/lisp/org-odt.el (org-export-as-odf)
(org-export-as-odf-and-open): New interactive commands.
(org-export-odt-convert): Add autoload cookie.
2011-11-08 03:08:55 +05:30
Jambunathan K fe19f7a637 org-odt.el: Preparing for introducing `org-export-as-odf'
* contrib/lisp/org-odt.el (org-odt-update-styles-file)
(org-odt-write-mimetype-file): New.  Extracted out of
`org-odt-save-as-outfile'.
(org-odt-save-as-outfile): Use above routines.
(org-export-odt-tmpdir-prefix)
(org-odt-init-outfile): Misc changes.

Preparing for introducing `org-export-as-odf'.  The new
command will create OpenDocument Formula files out of LaTeX
fragments.  Dynamic variable `org-lparse-backend' will be set
to 'odf during this command.
2011-11-08 03:08:48 +05:30
Jambunathan K f8168144a9 Annotate Dvipng images/Math formula and strengthen error handling
* contrib/lisp/org-odt.el (org-odt-encode-plain-text): New.
(org-odt-format-line)
(org-odt-format-source-code-or-example-plain): Use it.
(org-odt-format-object-description): New.  Format svg:title
and svg:desc elements out of plain text.
(org-export-odt-format-formula, org-export-odt-format-image):
Check whether the incoming formula or image is generated out
of a latex fragment.  If yes, pass the latex fragment for
downstream processing.
(org-odt-format-frame): Check if the object that is enclosed
in the frame has metadata associated with it.  If yes, dump it
as part of svg:title and svg:desc elements.
(org-odt-protect-latex-fragment): New after advice for
`org-format-latex-as-mathml'.  Fixes the following bug
http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00176.html
2011-11-07 00:32:27 +05:30
Jambunathan K 00cb82c266 org-odt.el: Minor modifications to reflect change in package layout
* contrib/lisp/org-odt.el (org-odt-data-dir): Modified to
reflect change in ELPA package layout.
2011-11-03 00:01:58 +05:30
Jambunathan K e856d1cfe7 org-odt.el: Protect label references against downstream expansion
* contrib/lisp/org-odt.el
(org-export-odt-preprocess-label-references): Mark label as
protected text and protect it from being expanded downstream.

Fixes bug reported by Myles English here:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00069.html
2011-11-02 23:33:10 +05:30
Jambunathan K 8559a91be8 org-odt.el: Fix a regression in export of src blocks
* contrib/lisp/org-odt.el
(org-odt-format-source-line-with-line-number-and-label): When
numbering was turned off, src blocks were getting stripped
from export.  Fixed this regression.
2011-10-31 14:09:36 +05:30
Jambunathan K a62818d561 org-odt.el: Put label generation and reference under user control
* contrib/lisp/org-odt.el (org-odt-begin-table)
(org-export-odt-format-formula, org-export-odt-format-image)
(org-odt-entity-frame-styles, org-odt-format-entity): Use
"__Table__", "__Figure__", "__MathFormula__",
"__DvipngImage__" as internal category handles.
(org-export-odt-user-categories)
(org-export-odt-get-category-from-label)
(org-odt-label-styles, org-odt-category-map-alist): New
variables.
(org-odt-entity-labels-alist): Add label style as an
additional entry.  Update docstring.
(org-odt-get-label-category-and-style): New defun.
(org-odt-add-label-definition)
(org-odt-format-label-definition)
(org-odt-format-label-reference)
(org-odt-fixup-label-references)
(org-odt-format-entity-caption, org-odt-init-outfile):
Modified.
(org-odt-label-def-ref-spec): Removed.  Superceded by
`org-odt-label-styles'.
(org-odt-get-label-definition): Removed

Give user more control over how labels are generated and
referenced.  This is accomplished by mapping each label to a
category-handle which in turn is used to locate the category,
counter and style to be associated with label.
2011-10-31 03:41:59 +05:30
Jambunathan K 2e0e462d14 org-odt.el: Add support for annotation blocks
* contrib/lisp/org-lparse.el (org-lparse-special-blocks): New
variable.  Add "annotation" blocks in addition to the already
existing "list-table" blocks.
(org-lparse-get-block-params): New helper routine to read
params passed to a special block.  Used in conjunction with
OpenDocument annotations and with parsing of "#+ATTR_ODT:..."
lines attached to images.
(org-lparse-par-open-stashed): New let-bound variable.
(org-do-lparse): Bind `org-lparse-par-open-stashed'.  Treat
all blocks listed in `org-lparse-special-blocks' as special
environments.  Honor options passed as part of
"#+begin_<block-name>[options]".
(org-lparse-preprocess-after-blockquote-hook): Handle all
blocks listed in `org-lparse-special-blocks' specially.
(org-lparse-strip-experimental-blocks-maybe-hook): New hook
that hooks up to `org-export-preprocess-hook'.  Removes blocks
listed under `org-lparse-special-blocks' while exporting to
formats other than "odt" or "xhtml".
(org-lparse-begin-environment, org-lparse-end-environment):
Modified signature to accomodate block params.
(org-lparse-stash-save-paragraph-state)
(org-lparse-stash-pop-paragraph-state): New helper routines
for use with emitting of OpenDocument annotations.
(org-lparse-list-table-enable): Removed.  "list tables" are
now always enabled.

* contrib/lisp/org-odt.el (org-odt-begin-annotation)
(org-odt-end-annotation): New routines.
(org-odt-begin-environment, org-odt-end-environment): Handle
block params.  Handle the new "annotation" block.
(org-odt-format-author, org-odt-iso-date-from-org-timestamp):
New helper routnes for emitting author and comment timestamps
with annotation blocks.
(org-odt-update-meta-file): Use above routines.
(org-export-odt-format-image): Use
`org-lparse-get-block-params' to parse inline image attributes.
(org-odt-format-date): Removed.  Superceded by
`org-odt-iso-date-from-org-timestamp'.

See http://lists.gnu.org/archive/html/emacs-orgmode/2011-10/msg01251.html
2011-10-29 04:13:44 +05:30
Jambunathan K 614c15744c Move cmds and user vars in lparse namespace to odt namespace
* contrib/lisp/org-odt.el
(org-export-odt-preferred-output-format): Use
`org-lparse-reachable-format'.  Update docstring.
(org-export-odt-convert-processes)
(org-export-odt-convert-process)
(org-export-odt-convert-capabilities): New customizable
variables.  Migrated from org-lparse.el.
(org-export-odt-convert): New.  Replaces `org-lparse-convert'.
(org-odt-get): Handle options - `CONVERT-METHOD' and
`CONVERT-CAPABILITIES'.

* contrib/lisp/org-lparse.el (org-lparse-and-open)
(org-lparse-to-buffer)
(org-replace-region-by, org-lparse-region, org-lparse): Made
these functions non-interactive.
(org-lparse-convert): Removed.  Splitted it in to
`org-lparse-convert-read-params' and `org-lparse-do-convert'.
(org-lparse-convert-read-params, org-lparse-do-convert): New
helper routines.
(org-lparse-convert-processes, org-lparse-convert-process)
(org-lparse-convert-capabilities): Removed.  Migrated to
org-odt.el.
(org-lparse-get-other-backends, org-lparse-get-converter)
(org-lparse-all-backends): Removed these helper routines.
(org-lparse-do-reachable-formats)
(org-lparse-reachable-formats, org-lparse-reachable-p): New
helper routines.
(org-do-lparse): Misc changes.

org-lparse.el is likely to be replaced by Nicolas Goazious's
backend.  So, with future-proofing in view, hide org-lparse.el
from direct user contact.  This amounts to retiring all
interactive functions and customizable variables that have
org-lparse as prefix and migrating their existing functinality
to the odt namespace.  This set of changes does precisely
that.
2011-10-25 00:28:49 +05:30
Jambunathan K b83e532174 Define customizable group org-export-odt
* contrib/lisp/org-odt.el (org-export-odt): Define the missing
customizable group and hook it up with `org-export'
customizable group.
(org-export-odt-preferred-output-format): Fix the `:group'
property.
2011-10-23 15:26:45 +05:30
Jambunathan K 5082f2bbd4 org-odt.el: Rename some variables that affect inline images
* contrib/lisp/org-odt.el (org-export-odt-inline-images):
Renamed from `org-odt-export-inline-images'.  Also removed
customizability.
(org-export-odt-inline-image-extensions): Renamed from
`org-odt-export-inline-image-extensions'.  Also fixed the
`:group' property.
(org-odt-format-org-link): Propagate above changes.
2011-10-23 15:26:37 +05:30
Jambunathan K 2c74df762b Make org-export-odt-embed-images internal
* contrib/lisp/org-odt.el (org-export-odt-embed-images):
Removed customizability of this variable.
2011-10-23 15:26:29 +05:30
Jambunathan K 08ac9121f5 Rename org-export-odt-use-htmlfontify to org-export-odt-fontify-srcblocks
* contrib/lisp/org-odt.el (org-export-odt-use-htmlfontify):
Replaced with `org-export-odt-fontify-srcblocks'.
(org-export-odt-fontify-srcblocks): Renamed from
`org-export-odt-use-htmlfontify'.
(org-odt-format-source-code-or-example-plain)
(org-export-odt-create-custom-styles-for-srcblocks)
(org-odt-format-source-code-or-example-colored)
(org-odt-format-source-code-or-example): Rename above
variable.
2011-10-23 15:26:21 +05:30
Jambunathan K 49f18ef5be Remove org-export-odt-use-bookmarks-for-internal-link
* contrib/lisp/org-odt.el
(org-export-odt-use-bookmarks-for-internal-links): Removed
unused variable.
2011-10-23 15:26:14 +05:30
Jambunathan K a17ceed1cc Update default value of org-export-odt-table-styles
* contrib/lisp/org-odt.el (org-export-odt-table-styles): Add
the required table style "OrgEquation".

Continues the following commit:
,----
| commit 861ecb85ba
| Author: Jambunathan K <kjambunathan@gmail.com>
| Date:   Sun Sep 18 00:09:06 2011 +0530
|
| contrib/lisp/org-odt.el: Typeset display equations using tables
`----
2011-10-20 14:27:42 +05:30
Jambunathan K 757453b98e Add a new option #+ODT_STYLES_FILE:...
* contrib/lisp/org-odt.el: Introduce a new option
"#+ODT_STYLES_FILE: ..." for per-file setting of
`org-export-odt-styles-file'.
(org-export-odt-styles-file): Mention above option in
docstring.
(org-odt-save-as-outfile): Honor above option.
2011-10-19 23:12:43 +05:30
Jambunathan K ce6f67c1ef Fix a crash in org-odt-is-formula-link-p
* contrib/lisp/org-odt.el (org-odt-is-formula-link-p): Trivial
change to avoid a crash.
2011-10-19 22:19:38 +05:30
Jambunathan K 9e90239a70 org-odt.el: Don't corrupt styles.xml while applying outline numbering
* contrib/lisp/org-odt.el
(org-odt-configure-outline-numbering): Tighten the regular
expression that matches "<text:outline-level-style ...>"
element.

Fixes bug reported here
http://lists.gnu.org/archive/html/emacs-orgmode/2011-10/msg00594.html
2011-10-18 16:55:27 +05:30
Carsten Dominik 872aec78d6 Put table style and col sizes under direct user control
* contrib/lisp/org-lparse.el
(org-lparse-table-get-colalign-info): Renamed
`org-forced-aligns' to `org-col-cookies'.  Renamed local
variable `forced-aligns' to `col-cookies'.
(org-lparse-format-table-row): With the introduction of
`org-col-cookies' property the internal structure of
`org-lparse-table-colalign-info' has changed.  Do the right
thing while setting up col alignment.  Pass on the colwidth
property as horiz-span arg of `TABLE-CELL' callback.

* contrib/lisp/org-odt.el (org-odt-begin-table): Let the table
style be settable throught #+ATTR_ODT line.  By default tables
are configured to occupy 90% of paper width.  This is too big
for smaller tables.  For aesthetic reasons, a user might
prefer that such tables of shorter width and thus specify a
different style.
(org-odt-end-table, org-odt-format-table-cell): Honor colwidth
specification.

* contrib/lisp/org-xhtml.el (org-xhtml-format-table-cell): Fix
signature as mandated by changes in TABLE-CELL callback.

See comments in the earlier patch. See also
http://lists.gnu.org/archive/html/emacs-orgmode/2011-08/msg01053.html
2011-10-16 10:55:28 +02:00
Jambunathan K 968313f113 org-odt.el: Treat label resolution failures as soft error
* contrib/lisp/org-odt.el (org-odt-get-label-definition): If a
label cannot be resolved, issue a warning and return nil.
(org-odt-fixup-label-references): Nothing to fixup if a
referenced label is not seen by the odt exporter.
2011-10-10 16:26:16 +05:30
Jambunathan K 78a1d2919c org-odt.el: Abort export if the label referenced is not defined
* contrib/lisp/org-odt.el (org-odt-get-label-definition):
Throw an error if the label that is being referenced is not
defined elsewhere.
2011-10-10 14:27:14 +05:30
Jambunathan K bbf836730a Revert "org-odt.el: Remove dependency on a pending patch"
This reverts commit 13b4f6b2e0.
2011-10-09 22:23:11 +05:30
Jambunathan K fec067a405 org-odt.el: Add bottom margin to source or example blocks
* contrib/odt/styles/OrgOdtStyles.xml
(OrgFixedWidthBlockLastLine, OrgSrcBlockLastLine): New styles
to be applied to the last line of the source or example
blocks.

* contrib/lisp/org-odt.el
(org-odt-format-source-code-or-example-plain)
(org-odt-format-source-code-or-example-colored): Use above
styles.
2011-10-07 19:02:04 +05:30
Jambunathan K 13b4f6b2e0 org-odt.el: Remove dependency on a pending patch
Revert this commmit once the patch referenced below is accepted.
https://lists.gnu.org/archive/html/emacs-orgmode/2011-10/msg00097.html
2011-10-07 16:30:16 +05:30
Jambunathan K 8aedd359bb org-odt.el: Add support for native numbering of src and example lines
* contrib/lisp/org-lparse.el (org-lparse-format-org-link):
Push the responsibility of calling
`org-export-get-coderef-format' to the backends.

* contrib/lisp/org-xhtml.el (org-xhtml-format-org-link): Take
up the above responsibility.

* contrib/lisp/org-odt.el (org-odt-format-link): Handle links whose
descriptions are actually line-numbers.
(org-odt-format-source-line-with-line-number-and-label): New.
Generate line numbers and link targets for lines that are part of
source or example blocks.
(org-odt-format-source-code-or-example-plain)
(org-odt-format-source-code-or-example-colored): Use
`org-odt-format-source-line-with-line-number-and-label'.
(org-odt-format-source-code-or-example): Pre-process input lines with
`org-export-number-lines'.  Also handle numbering of src lines.
(org-odt-format-org-link): Rework handling of coderef links.  Generate
ODF-specific markup for line-number based coderef links.
(org-xml-encode-plain-text-lines): Removed.  Not used any more.

contrib/odt/styles/OrgOdtStyles.xml (OrgSrcBlockNumberedLine): New
style for automatic numbering of src and example lines.
2011-10-07 16:17:07 +05:30
Jambunathan K 32cf8bf731 org-odt.el: When zip command fails, log its output as a message
* contrib/lisp/org-odt.el (org-odt-save-as-outfile): When the
zip command fails, spit out the output it generates to
"*Messages*" buffer.
2011-09-26 00:15:53 +05:30
Jambunathan K 861ecb85ba org-odt.el: Typeset display equations using tables
* contrib/odt/styles/OrgOdtContentTemplate.xml: Add bottom
margin to "OrgTable".  Modify border properties of
"OrgTblCell*"s.  Add "OrgEquation" table styles for
typesetting of display equations.

* contrib/odt/styles/OrgOdtStyles.xml: Added various "graphic"
styles for formatting of inline and display equations.
Modified names of some "graphic" styles for images for reasons
of consistency.

* contrib/lisp/org-odt.el (org-export-odt-do-format-image):
Removed.  This is now folded in to
`org-export-odt-format-image'.  A part of this is extracted in
to `org-odt-format-entity'.
(org-odt-entity-frame-styles): New variable.
(org-odt-format-entity): New function.  See previous entries.
(org-export-odt-format-image): Modified.  See previous
entries.
(org-export-odt-do-format-numbered-formula)
(org-export-odt-do-format-formula): Removed.  These functions
are now folded within `org-export-odt-format-formula'.
(org-export-odt-format-formula): Modified as noted above.
Also use `org-odt-format-entity'.
(org-odt-format-frame, org-odt-format-textbox): Modified
signature to facilitate elegant introduction of
`org-odt-format-entity'.
(org-odt-format-inlinetask): Honor change in signature.
(org-odt-label-def-ref-spec): Added an entry for "Equation".

Only MathML equations are typeset using tables.  Dvipng equations are still
typeset as regular images.
2011-09-18 00:14:20 +05:30
Jambunathan K bf3e9aa9a2 org-odt.el: Improve how labels are applied and generated.
* contrib/lisp/org-odt.el
(org-odt-entity-labels-alist, org-odt-entity-counts-plist)
(org-odt-label-def-ref-spec): New variables.
(org-odt-init-outfile): Reset above variables.
(org-odt-add-label-definition, org-odt-get-label-definition)
(org-odt-format-label-definition)
(org-odt-format-label-reference)
(org-odt-fixup-label-references): New functions.
(org-export-odt-preprocess-label-references): Modified.
(org-odt-end-export): Call `org-odt-fixup-label-references'.
(org-odt-parse-label): Removed
(org-odt-default-entity): Removed.
(org-odt-format-entity-caption): Fixed signature so that
category param is no longer optional.  Use
`org-odt-format-label-definition'.
(org-export-odt-do-format-formula)
(org-export-odt-do-format-image): Pass the mandatory category
param to `org-odt-format-entity-caption'.

* contrib/odt/styles/OrgOdtContentTemplate.xml: Add Figure and
Equation as sequence declarations.

Most of these changes can be pushed to org-exp.el.  For now park the
changes locally to org-odt.el.
2011-09-17 00:17:22 +05:30
Jambunathan K e73bca63cf org-odt.el: Support for styling of tables using table templates
* contrib/lisp/org-odt.el (org-odt-table-style)
(org-odt-table-style-spec): New variables.
(org-export-odt-table-styles): New user-customizable variable.
(org-odt-begin-table): Init `org-odt-table-style' from the
attributes.
(org-odt-get-table-cell-styles): New function.
(org-odt-end-table): Use the above function.
(org-odt-get-style-name-for-table-cell): Removed.  Now folded
in to `org-odt-get-table-cell-styles'.
(org-odt-get-style-name-cookie-for-table-cell): Modified to
accommodate new user-defined styles.

Users now have the option of choosing Org's own way of styling or
using custom styling.
2011-09-14 14:56:30 +05:30
Jambunathan K 488a2e378c Replace OrgOdtAutomaticStyles.xml with OrgOdtContentTemplate.xml
* contrib/odt/styles/OrgOdtAutomaticStyles.xml: Removed

* contrib/odt/styles/OrgOdtContentTemplate.xml: Added. This
file is now a fully-formed "content.xml" file but with "empty"
content. Note that the original "OrgOdtAutomaticStyles.xml"
was just an xml fragment.

* contrib/lisp/org-odt.el
(org-odt-document-content-header): Removed.
(org-export-odt-automatic-styles-file): Removed.
(org-export-odt-content-template-file): Renamed from
`org-export-odt-automatic-styles-file'.
(org-odt-data-dir): Update docstring.
(org-odt-begin-office-body, org-odt-begin-document-content):
Modified to accomodate changes introduced by the new
"OrgOdtContentTemplate.xml" file.
2011-09-12 17:19:14 +05:30
Jambunathan K 16333d4a53 org-lparse.el: Rename table routines
* contrib/lisp/org-lparse.el (org-lparse-insert-org-table):
Renamed from `org-lparse-do-format-org-table'.
(org-lparse-insert-list-table): Renamed from
`org-lparse-do-format-list-table.
(org-lparse-insert-table-table): Renamed from
`org-lparse-do-format-table-table'.
(org-lparse-insert-org-table, org-lparse-format-org-table)
(org-lparse-format-list-table, org-lparse-format-table-table):
Propagate above renamings.

* contrib/lisp/org-odt.el
(org-export-odt-do-format-numbered-formula): Propagate above
renamings.

Maintain a clear distinction between format and insert behaviours.
2011-09-09 00:38:31 +05:30
Jambunathan K ab757f9a24 org-odt.el: Set mathml option
* contrib/lisp/org-odt.el
(org-export-odt-do-preprocess-latex-fragments): Pass 'mathml
option to `org-format-latex'.
2011-09-09 00:26:19 +05:30
Jambunathan K be69dd2d50 org-odt.el: Embed links to mathml files as ODF formula
* contrib/lisp/org-odt.el
(org-odt-embedded-formulas-count):New variable.
(org-odt-init-outfile): Reset above variable.
(org-odt-is-formula-link-p, org-odt-format-inline-formula)
(org-odt-copy-formula-file, org-export-odt-format-formula)
(org-export-odt-do-format-formula)
(org-export-odt-do-format-numbered-formula): New functions for
formatting mathml file links as embedded ODF formulae.
(org-odt-format-org-link): Add check for links to mathml files
and call `org-odt-format-inline-formula'.
(org-export-odt-format-image): Update function signature.  Use
`org-latex-src' property to identify latex dvipng images.  Use
the (to be committed) `org-latex-src-embed-type' to identify
whether the equation image should be inlined or displayed.
(org-odt-format-textbox): Modified to accomodate correct
formatting of captioned formula.
(org-odt-format-inlinetask): Modified to accomodate changes to
the previous function.
(org-export-odt-do-format-image): Minor change.
(org-export-odt-do-preprocess-latex-fragments): When LaTeX
fragment option is set to `t' or `mathjax' check for
availability of latex to mathml converter using (to be
committed) `org-format-latex-mathml-available-p'.  If such a
converter is available and configured, use it.  Otherwise
default to the earlier behaviour.

Refer the following post for more information:
http://article.gmane.org/gmane.emacs.orgmode/46712
2011-09-08 21:14:11 +05:30
Jambunathan K 86409e89c0 org-odt.el: Sanitize formatting of Images
* contrib/lisp/org-odt.el (org-odt-format-frame): New.
(org-odt-format-textbox): Use the above function.
(org-export-odt-do-format-image): Use the above two functions.
Use the new custom styles for the Frame and Graphics elements.
(org-odt-image-attrs-from-size): Remove this.

* contrib/odt/styles/OrgOdtAutomaticStyles.xml: Removed all
Frame and Graphics entries.

* contrib/odt/styles/OrgOdtStyles.xml: Added following custom
styles - OrgSimpleGraphics, OrgCaptionedGraphics,
OrgCaptionFrame, OrgInlineGraphics and OrgInlineFormula.
2011-09-08 18:56:08 +05:30
Jambunathan K 0dd10f5d97 org-odt.el: Format date strings in meta.xml using portable means
* contrib/lisp/org-odt.el (org-odt-format-date): %:z format
specifier of `format-time-string' is not portable.  Replace it
with an equivalent implementation using %z specifier.

Thanks to Anton Tarasenko for reporting this bug and verifying
this fix.  See
http://lists.gnu.org/archive/html/emacs-orgmode/2011-09/msg00099.html
2011-09-06 23:45:25 +05:30
Jambunathan K 6b955077dc org-odt.el: Rework embedding of images
* contrib/lisp/org-odt.el (org-odt-embedded-images-count): New
variable.
(org-odt-copy-image-file): Use the above variable to name the
embedded image files. Remove some cruft as well.
(org-export-odt-file-list, org-export-odt-save-list): Removed.
(org-odt-init-outfile, org-odt-save-as-outfile): Related changes.
2011-09-06 23:09:08 +05:30
Jambunathan K 933e508e05 org-odt.el: Create and update manifest.xml towards end of export
* contrib/lisp/org-odt.el (org-export-odt-manifest-lines):
Removed.
(org-odt-update-manifest-file): Removed.
(org-odt-create-manifest-file-entry)
(org-odt-write-manifest-file): New function.
(org-odt-manifest-file-entries): New variable.
(org-odt-manifest-file-entry-tag): Updated.
(org-odt-init-outfile): Don't create manifest.xml here.  Don't
create Pictures directory so early in the export.  Reset
`org-odt-manifest-file-entries'.
(org-odt-save-as-outfile): Modified.  Use
`org-odt-create-manifest-file-entry' and
`org-odt-write-manifest-file'.
(org-odt-copy-image-file, org-odt-update-meta-file)
(org-odt-copy-styles-file): Use
`org-odt-create-manifest-file-entry'.

Rationalized creation of Manifest file entries.  New entries are
created right at the point where new files are added to the odt file.
2011-09-05 23:30:14 +05:30
Jambunathan K 0c48918be5 org-odt.el: Trivial cleanup
* contrib/lisp/org-odt.el (org-export-odt-nosave-list): Remove
a useless variable.
(org-odt-init-outfile): Propagate above change.
2011-09-05 12:04:06 +05:30
Jambunathan K 82cf5d59e7 org-odt.el: Create mimetype file towards the end of export
* contrib/lisp/org-odt.el (org-odt-init-outfile): Don't create
mimetype file here.
(org-odt-save-as-outfile): Create mimetype file here.  Note
that this routine gets called towards the end of the export
just before files are zipped.
2011-09-05 12:03:55 +05:30
Jambunathan K c08183d043 org-odt.el: Create and update meta.xml towards end of the export
* contrib/lisp/org-odt.el
(org-odt-init-outfile): Don't create meta.xml here.
(org-odt-update-meta-file): Create and update meta.xml here
instead.  Note that this routine gets called just before the
component files are zipped.
(org-export-odt-meta-lines): Remove it. Not needed any longer.
(org-odt-save-as-outfile): No need to create backup files
while saving xml buffers.
2011-09-05 12:03:10 +05:30
Jambunathan K 74e78a1456 org-lparse.el: Support for list-tables (first cut)
* contrib/lisp/org-lparse.el
(org-lparse-list-table:table-cell-open): New variable.
(org-lparse-begin-list-table:table-cell)
(org-lparse-end-list-table:table-cell): New routines.  Use
`org-lparse-begin-collect' and `org-lparse-end-collect' to get
a string representation of a multi-line table cell.
(org-lparse-list-table-p, org-lparse-list-level)
(org-lparse-list-item-count, org-lparse-list-stack)
(org-lparse-list-table:table-cell-open)
(org-lparse-list-table:table-row)
(org-lparse-list-table:lines): New variables to keep track of
the state of the list at a point in time during export.
(org-do-lparse): Init above variables.
(org-lparse-begin-list, org-lparse-end-list)
(org-lparse-begin-list-item, org-lparse-end-list-item):
Modified so that list marked as list-table are exported as a
table.  Refer notes in the file for more information.
(org-lparse-do-format-list-table): Make sure that `org-table'
is loaded.

* contrib/lisp/org-odt.el (org-odt-format-table-cell): Table
cells are list-tables are already paragraphs.  No need to
enclose them in paragraphs again.
2011-09-01 23:44:17 +05:30
Jambunathan K 30aa8f61da Revert "Introduce org-odt-begin-table-cell and org-odt-end-table-cell"
This reverts commit e887881e13.  Keep things
simple for now.
2011-09-01 23:44:04 +05:30
Jambunathan K e887881e13 Introduce org-odt-begin-table-cell and org-odt-end-table-cell
* contrib/lisp/org-odt.el
(org-odt-entity-control-callbacks-alist): Added an entry for
TABLE-CELL.
(org-odt-begin-paragraph, org-odt-format-stylized-paragraph):
Honour `org-lparse-current-paragraph-style'.
(org-odt-begin-table-cell, org-odt-end-table-cell): Factored
out from the earlier `org-odt-format-table-cell'. Note that
these functions set and reset
`org-lparse-current-paragraph-style'.
(org-odt-format-table-cell): Use the above functions.
* contrib/lisp/org-lparse.el
(org-lparse-current-paragraph-style): New variable.
(org-do-lparse): Init the above variable at the beginning of
export.
2011-09-01 19:36:34 +05:30
Jambunathan K ad3419180f Refactor org-odt-format-table-cell
* contrib/lisp/org-odt.el
(org-odt-get-paragraph-style-cookie-for-table-cell)
(org-odt-get-style-name-cookie-for-table-cell): Factored out
from `org-odt-format-table-cell'.
(org-odt-format-table-cell): Simplified using above functions.
2011-09-01 18:32:13 +05:30
Jambunathan K a0769aaebb Introduce org-lparse-begin/end-list-item
* contrib/lisp/org-lparse.el (org-lparse-end-list-item):
Renamed to `org-lparse-end-list-item-1'.
(org-lparse-begin-list-item, org-lparse-end-list-item): New
functions.  Use these instead of doing (org-lparse-begin
'LIST-ITEM ...) or (org-lparse-end 'LIST-ITEM ...).
(org-lparse-export-list-line, org-lparse-begin-level)
(org-lparse-end-level): Propagate above changes.
* contrib/lisp/org-odt.el
(org-odt-begin-list-item, org-odt-end-list-item): ditto.
* contrib/lisp/org-xhtml.el (org-xhtml-format-toc-item)
(org-xhtml-begin-toc, org-xhtml-end-toc): ditto.
2011-08-31 22:28:14 +05:30