* lisp/org-footnote.el (org-footnote-normalize): Remove an useless
part of the function.
(org-insert-footnote-reference-near-definition): Remove function.
* lisp/org-footnote.el (org-footnote-normalize): Fix normalization of
inline footnotes with no footnote section.
* testing/lisp/test-org-footnote.el: New test file.
Thanks to Samuel Wales for reporting this.
* org-bbdb.el (org-bbdb-old): Replace `defvar' after loading 'bbdb to
check for old or new version by a check for the required function in
`org-bbdb-open' and `org-bbdb-store-link'.
(org-bbdb-store-link, org-bbdb-open): Check which version of bbdb is
to be used.
This is a follow up of ddf4f1e7a9.
Instead of depending on the loading of bbdb we do a check for the
required function in `org-bbdb-open' and `org-bbdb-store-link'.
* lisp/org.el (org-link-search): Search for #+name affiliated keywords
and invisible targets.
* contrib/lisp/org-element.el (org-element-link-parser): Remove "ref"
links relative part.
(org-element-target-parser): Move property name from `:raw-value' to
`:value'.
(org-element-recursive-objects): Remove targets from tables. Cells
are not parsed unless explicitely asked by back-end developer, too
late. A target wouldn't be noticed in time. One solution could be to
parse every table, but that's time consumming.
(org-element-object-restrictions): Target are not recursive anymore.
* contrib/lisp/org-export.el (org-export-resolve-fuzzy-link): Find
elements with a matching "#+name: path" affiliated keyword.
(org-export-get-ordinal): Make special cases for headlines, items,
footnotes definitions and references.
(org-export-resolve-ref-link): Removed function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Handle
cross-reference numbers.
(org-e-latex-target): Targets have no contents.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--describe-links): Ignore
fuzzy links in link description at the end of the section.
(org-e-ascii-link): Handle cross-reference numbers.
* testing/contrib/lisp/test-org-export.el: Add tests.
* testing/lisp/test-org.el: Add tests.
* org-lparse.el (org-lparse-end-footnote-definition): Cleanup
newlines in a transcoded footnote definition. This ensures
that the line that is currently being processed by
`org-do-lparse' loop doesn't get broken up into multiple
lines. Fix for the following bug -
* lisp/org-footnote.el (org-footnote-normalize): Force a paragraph
break after the last footnote definition. This is an an
implicit assumption made by the org-lparse.el library. With
this change, footnote definitions can reliably be exported
with ODT backend. See
http://lists.gnu.org/archive/html/emacs-orgmode/2012-02/msg01013.html.
* lisp/ob-ditaa.el (org-ditaa-jar-path): Already defined in
org-exp-blocks.el.
* lisp/org-exp-blocks.el (org-ditaa-jar-path): Declare appropriately
for the fact that this is really now a Babel thing -- even if it is
used here and the definition should remain here for reasons of load
dependencies.
* org-bbdb.el (org-bbdb-old): Wrap `defvar' so the variable gets
defined after bbdb was loaded.
Thanks to Nick Dokos for reporting this glitch in
<8273.1330161610@alphaville>.
* lisp/org-odt.el (org-odt-insert-toc): Remove this stray,
dysfunctional routine. This possibly has crept in because of the
broken merges between "maint" and "origin" branches.
(org-odt-begin-table): Don't emit an empty paragraph when a table is
neither labelled or captioned.
(org-odt-init-outfile): Remove reference to an unused variable.
* lisp/ob-sql.el(org-babel-execute:sql): Add support for MonetDB to
SQL code blocks.
Hi,
the attached patch adds support for evaluating SQL blocks on MonetDB.
The MonetDB client normally requires the password to be inputted on the
console. To get around this, you have to use a dotfile ~/.monetdb with
authentification data. Note that this file is ignored if you specify a
user on the cmdline. See
http://www.monetdb.org/Documentation/mclient-man-page for details.
A usage example follows.
Setup MonetDB test database and authentification data
#+BEGIN_SRC sh :results output verbatim
MONETDB_DIR=$HOME/unix/var/monetdb/demodb
monetdbd create $MONETDB_DIR
monetdbd start $MONETDB_DIR
monetdb create demodb
monetdb release demodb
cat > ~/.monetdb <<EOF
user=monetdb
password=monetdb
EOF
#+END_SRC
#+RESULTS:
: created database in maintenance mode: demodb
: taken database out of maintenance mode: demodb
Data is returned without column names (the default return format
cannot be parsed by Babel).
#+BEGIN_SRC sql :engine monetdb :cmdline demodb
CREATE TABLE foo ( bar INTEGER );
SELECT 'Table count', count(*) FROM foo;
#+END_SRC
#+RESULTS:
| Table count | 0 |
The parameter "-i" is required on the command line in order to use
special client commands. Also note that a newline is required at the
end if the last line contains a special client command.
#+BEGIN_SRC sql :engine monetdb :cmdline demodb -i :results output
verbatim
\d
\?
#+END_SRC
#+RESULTS:
#+begin_example
TABLE sys.foo
\? - show this message
\<file - read input from file
\>file - save response in file, or stdout if no file is given
\|cmd - pipe result to process, or stop when no command is given
\h - show the readline history
\D table- dumps the table, or the complete database if none given.
\d[Stvsfn]+ [obj] - list database objects, or describe if obj given
\A - enable auto commit
\a - disable auto commit
\e - echo the query in sql formatting mode
\f - format using a built-in renderer {csv,tab,raw,sql,xml}
\w# - set maximal page width (-1=unlimited, 0=terminal width,
>0=limit to num)
\r# - set maximum rows per page (-1=raw)
\L file - save client/server interaction
\X - trace mclient code
\q - terminate session
#+end_example
Have fun!
> attached is a patch that enhances org-babel-goto-named-src-block (bound
> to C-c C-v g by default). Included are two enhancements:
>
> 1. the point is pushed to the org-mark-ring, such that returning with
> C-c & becomes possible
> 2. the target src block is guessed from
> a) noweb-reference
> b) #+call:
> c) #+results:
> d) symbol-at-point
> if one of these is found (in that order)
* lisp/ob.el (org-babel-goto-named-src-block): Pushing the point to
the org-mark-ring and guessing at the code block name to jump to.
* org-agenda.el (org-agenda-tree-to-indirect-buffer): Fix handling of
indirect buffer and window.
Check if the window of last indirect buffer is still live and properly
handle the case of `org-last-indirect-buffer' being nil.
Changes suggested by Dave Abrahams in <m2boow1q9e.fsf@boostpro.com>.
2012-01-17 Jambunathan K <kjambunathan@gmail.com>
* etc/styles/OrgOdtContentTemplate.xml
(OrgIndentedSection-Level-*): New section styles. These
sections are indented to the same level as the corresponding
list entries. These sections hold tables that occur within a
list.
(OrgTable): Increased relative width from 90% to 96% for
aesthetic reasons.
* lisp/org-odt.el (org-odt-table-indentedp): New variable
(org-odt-begin-table): Modified. If the table is within a
list, temporarily leave the list and begin an indented section
before emitting the table.
(org-odt-end-table): Modified. If the table was within a
list, close the indented section and re-open the list
immediately after ending the table.
(org-odt-continue-list, org-odt-discontinue-list): Helper
routines to temporarily discontinue and continue a list.
(org-odt-list-stack-stashed): New variable to hold the state
of a pending list.
(org-odt-begin-list, org-odt-begin-list-item)
(org-odt-end-list-item): Modified. Handle nitty-gritties for
continuing a list and list item.
(org-odt-section-count): New variable that keeps track of
section count. Used in conjunction with naming of sections.
(org-odt-begin-section, org-odt-end-section): New defuns.
(org-odt-init-outfile): Initialize
`org-odt-list-stack-stashed' and `org-odt-section-count'.
* lisp/org-lparse.el (org-lparse-list-item-count): Removed. Was a
superfluous variable.
(org-lparse-list-level): Removed. Now derived from
`org-lparse-list-stack'.
(org-lparse-list-stack): New. List that records the list
types - ordered, unordered or descriptive - in the following
order: self, parent, grand-parent etc.
(org-do-lparse): Added, removed above let-bound vars.
Disallowed regular tables within list-table block.
(org-lparse-begin-list, org-lparse-end-list)
(org-lparse-begin-list-item, org-lparse-end-list-item):
Propagate above changes.
OpenDocument doesn't permit tables to occur in the middle of a
list. Use list continuations and indented sections to typeset
indented tables.
Fixes the following bug:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00515.html
Add support for indented tables in ODT export
2012-01-20 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-odt.el (org-odt-format-textbox): Honor user-specified
width in captioned images.
Fix for bug reported here:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00641.html
Honor user-specified width in captioned images
2012-01-23 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-odt.el (org-odt-table-style-format): New. Template for
auto-generated table styles.
(org-odt-automatic-styles, org-odt-object-counters): New
variables.
(org-odt-add-automatic-style): New function.
(org-odt-write-automatic-styles): New function. Create
automatic styles for tables that have custom :rel-width.
(org-odt-begin-table): Parse attributes specified with
"#+ATTR_ODT: " option and use it to create an automatic table
style.
(org-odt-save-as-outfile): Call
`org-odt-add-write-automatic-styles'.
(org-odt-init-outfile): Init newly add variables.
(org-odt-section-count): Remove it.
(org-odt-begin-section): Use `org-odt-add-automatic-style' to
generate an automatic section name.
Customize table width using :rel-width option. For example,
to create a table of width 60% use:
#+attr_odt: :rel-width 60
| A | B |
|---+---|
| | |
org-odt.el: Put table width under user-control
2012-01-23 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-odt.el (org-odt-label-styles): Add a new style.
(org-odt-category-map-alist): Use it.
Andreas Leha writes:
The following snippet exports correctly to LaTeX and to html, but
produces the text "Figure Figure" in odt.
Could the behaviour be synchronized?
=== example.org ==========================
* Test ref
plot(1:10, 1:10)
Here is a reference to Figure \ref{fig:bar}
=== example.org ==========================
org-odt.el: Make label references consistent with LaTeX export
2012-01-24 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-odt.el (org-odt-entity-frame-styles): Add frame params
for images that are anchored as character.
(org-export-odt-format-image): Handle new anchor type
"as-char".
(org-export-odt-default-image-sizes-alist): Misc. change.
(org-export-odt-format-formula): Misc. change.
With this change, one can use the below snippet to produce
images that are laid out side-by-side.
#+ATTR_ODT: :width 7 :height 7 :anchor as-char
#+header: :file foo.png
[[./foo.png]]
#+caption: bar
#+ATTR_ODT: :width 7 :height 7 :anchor as-char
#+header: :file bar.png
[[./bar.png]]
See http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00677.html.
org-odt.el: Allow images to be anchored as characters
2012-01-24 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-odt.el (org-export-odt-format-formula): Use :style
property to specify custom table styles.
Continuation of the earlier commit titled: "Put table width
under user-control".
org-odt.el: Fix regression in typesetting of MathML formulae
2012-01-27 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-odt.el (org-odt-format-preamble): Don't insert TOC here.
Delay it till the end of export.
(org-odt-begin-document-body): Make a note of the default
position of TOC in `org-lparse-dyn-first-heading-pos'.
(org-odt-insert-toc): Insert TOC as directed by
[TABLE-OF-CONTENTS] line or at the default position.
(org-odt-end-export): Call `org-odt-insert-toc'.
Fix for the following bug:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00974.html
org-odt.el: Honor "[TABLE-OF-CONTENTS]" directive
2012-01-27 Jambunathan K <kjambunathan@gmail.com>
org-odt.el: Fix earlier commit
2012-01-30 Jambunathan K <kjambunathan@gmail.com>
* OrgOdtStyles.xml (OrgTitlePage): New page style. Include no
footer. Use "OrgFrontMatterPage" for the following page.
(OrgFrontMatterPage): New page style. Include a footer that
displays page numbers in Roman style. Use mirrored pages.
Use "OrgFrontMatterPage" for the following page.
(OrgPage): New page style. Include a footer that displays
page numbers. Use mirrored pages. Use "OrgPage" for the
following page.
(OrgFirstPage): New page style. Include a footer that
displays page numbers. Right page only. Use "OrgPage" for
the following page.
(Standard): Modify to include a footer that displays page
numbers. Use mirrored pages. Use "Standard" for the
following page.
None of the above page styles have a header.
The newly added page styles are not used as yet.
org-odt.el: By default, include page numbers in the page footer
2012-01-31 Jambunathan K <kjambunathan@gmail.com>
org-odt.el: Do `clear-image-cache' before `create-image'
2012-02-03 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-lparse.el (org-lparse-do-convert): Replace
`call-process' with `shell-command-to-string'.
* lisp/org-odt.el (org-export-odt-convert-processes): Add a new
converter which depends solely on LibreOffice and nothing
else.
(org-export-odt-convert-process): Make the above native
converter the default.
Thanks to Giles for introducing the "--convert-to" option of
soffice.exe. The option seems to be a fairly recent
development.
http://imperfectsoftware.blogspot.in/2012/01/one-of-my-less-enjoyable-tasks-is-to.html
With this change, one can export to pdf via odt by a simple
(setq org-export-odt-preferred-output-format "pdf")
There is no need to install additional converters.
org-odt.el: Make LibreOffice the default converter
2012-02-09 Jambunathan K <kjambunathan@gmail.com>
* org-odt.el (org-export-odt-convert-capabilities): Change the
default value.
See http://lists.gnu.org/archive/html/emacs-orgmode/2012-02/msg00293.html.
Offer "docx" as an option in `org-export-odt-preferred-output-format'
2012-02-12 Jambunathan K <kjambunathan@gmail.com>
org-odt.el: Fix indentation
2012-02-12 Jambunathan K <kjambunathan@gmail.com>
org-odt.el: Tag all custom variables with Emacs version
2012-02-12 Jambunathan K <kjambunathan@gmail.com>
* lisp/org-odt.el (org-export-odt-convert-processes): Re-define
(org-export-odt-convert-capabilities): Fix an accidental
regression.
* lisp/org-lparse.el (org-lparse-do-convert): Related change.
Simplify definition of `org-export-odt-convert-processes'
2012-02-12 Jambunathan K <kjambunathan@gmail.com>
Retire support for BasicODConverter
2012-02-14 Jambunathan K <kjambunathan@gmail.com>
* org-odt.el (org-export-as-odt-to-buffer)
(org-replace-region-by-odt, org-export-region-as-odt): Remove
these interactive functions. They are of questionable value.
org-odt.el: Remove interactive functions of questionable value
2012-02-15 Jambunathan K <kjambunathan@gmail.com>
Improve converting from ODT to other formats
2012-02-15 Jambunathan K <kjambunathan@gmail.com>
* org-odt.el (org-export-odt-image-size-probe-method)
(org-odt-do-image-size): Use imagemagick preferentially to
determine image sizes.
See http://lists.gnu.org/archive/html/emacs-orgmode/2012-02/msg00288.html
org-odt.el: Use imagemagick to determine image sizes
2012-02-16 Jambunathan K <kjambunathan@gmail.com>
* org.texi (Top, OpenDocument Text export)
(ODT export commands, Extending ODT export)
(Images in ODT export, Tables in ODT export)
(Configuring a document converter): Add or Update.
org.texi: Update ODT section
* lisp/ob.el:
Fix `org-babel-result-end' command to provide consistent result
removal where result is type `wrap'. Prior to this fix
multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to
the end of results (one newline per block execution).
This fixes the test `test-ob/org-babel-remove-result--results-wrap'
* testing/lisp/test-ob.el:
Uncomment test since it now passes.
Conflicts:
testing/lisp/test-ob.el
Thanks to Glenn Morris for this fix in Emacs trunk.
Conflicts:
lisp/ob-emacs-lisp.el
lisp/ob-perl.el
lisp/ob-python.el
lisp/ob-ruby.el
lisp/ob-screen.el
lisp/org-eshell.el
lisp/org-mouse.el
* org.el (org-recenter-calendar): Use `with-selected-window' to select
calendar window and save currently selected window and current buffer.
Fixes a bug reported by Thomas Morgan in <mid:87obsxwpvc.fsf@ziiuu.com>.
* lisp/org.el (org-goto): call org-refile-get-location with NO-EXCLUDE
argument set, otherwise not only are headlines in the current subtree
excluded, but it throws an error if point happens not to be within a
subtree (e.g. at start of buffer).
TINYCHANGE
* org.el (org-scan-tags): Fix highlighting in sparse-tree.
`org-get-heading' uses `org-heading-regexp' introduced by
dfcb6faef1 but `org-scan-tags' assumed
match groups of the old regular expression.
This should fix a bug reported by Suvayu Ali in
<20120209032255.431e8197@kuru.dyndns-at-home.com>.
* org-clock.el (org-in-clocktable-p): Moved to org.el.
* org.el (org-in-clocktable-p): New function. Moved from org-clock.el
Fixes a bug reported by suvayu ali in
<CAMXnza2W9VSJ2d-dDmsByNmTVgxnt1Onp=J5S=TsFEi8MOVNtg@mail.gmail.com>.
`org-context' depends on the function but org.el does not depend on
org-clock.el.
* org-exp.el (org-export-get-title-from-subtree): Don't format tags in
title if title headline does not have tags.
Fixes a bug reported by John Hendy in
<CA+M2ft_UnBVfUbmoUX6J2MY7e_9w+7an5n23rAarpnnQnaV=ZA@mail.gmail.com>.
* lisp/org-odt.el (org-odt-format-preamble): Don't insert TOC here.
Delay it till the end of export.
(org-odt-begin-document-body): Make a note of the default
position of TOC in `org-lparse-dyn-first-heading-pos'.
(org-odt-insert-toc): Insert TOC as directed by
[TABLE-OF-CONTENTS] line or at the default position.
(org-odt-end-export): Call `org-odt-insert-toc'.
Fix for the following bug:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00974.html
* org-capture.el (org-capture-place-item): Don't search for
position in existing list if :exact-position was supplied.
This fixes a bug reported by François Pinard in
<http://thread.gmane.org/gmane.emacs.orgmode/49995>.
* etc/styles/OrgOdtContentTemplate.xml
(OrgIndentedSection-Level-*): New section styles. These
sections are indented to the same level as the corresponding
list entries. These sections hold tables that occur within a
list.
(OrgTable): Increased relative width from 90% to 96% for
aesthetic reasons.
* lisp/org-odt.el (org-odt-table-indentedp): New variable
(org-odt-begin-table): Modified. If the table is within a
list, temporarily leave the list and begin an indented section
before emitting the table.
(org-odt-end-table): Modified. If the table was within a
list, close the indented section and re-open the list
immediately after ending the table.
(org-odt-continue-list, org-odt-discontinue-list): Helper
routines to temporarily discontinue and continue a list.
(org-odt-list-stack-stashed): New variable to hold the state
of a pending list.
(org-odt-begin-list, org-odt-begin-list-item)
(org-odt-end-list-item): Modified. Handle nitty-gritties for
continuing a list and list item.
(org-odt-section-count): New variable that keeps track of
section count. Used in conjunction with naming of sections.
(org-odt-begin-section, org-odt-end-section): New defuns.
(org-odt-init-outfile): Initialize
`org-odt-list-stack-stashed' and `org-odt-section-count'.
* lisp/org-lparse.el (org-lparse-list-item-count): Removed. Was a
superfluous variable.
(org-lparse-list-level): Removed. Now derived from
`org-lparse-list-stack'.
(org-lparse-list-stack): New. List that records the list
types - ordered, unordered or descriptive - in the following
order: self, parent, grand-parent etc.
(org-do-lparse): Added, removed above let-bound vars.
Disallowed regular tables within list-table block.
(org-lparse-begin-list, org-lparse-end-list)
(org-lparse-begin-list-item, org-lparse-end-list-item):
Propagate above changes.
OpenDocument doesn't permit tables to occur in the middle of a
list. Use list continuations and indented sections to typeset
indented tables.
Fixes the following bug:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00515.html
* lisp/ob-sqlite.el (org-babel-execute:sqlite): Specify the use of ","
as the separator to `org-table-convert-region'. Fixes errors when
only one result per line of output.
* lisp/ob.el (org-babel-strip-protective-commas): Use
`org-strip-protective-commas'.
* lisp/org-exp.el (org-export-select-backend-specific-text): Use
`org-strip-protective-commas'.
* lisp/org-src.el (org-edit-src-code): Use
`org-strip-protective-commas'.
* lisp/org.el (org-strip-protective-commas): Single definition for
this functionality.
* org.el (org-recenter-calendar): Use `with-selected-window' to select
calendar window and save currently selected window and current buffer.
Fixes a bug reported by Thomas Morgan in <mid:87obsxwpvc.fsf@ziiuu.com>.
* org-odt.el (org-export-as-odt-to-buffer)
(org-replace-region-by-odt, org-export-region-as-odt): Remove
these interactive functions. They are of questionable value.
* lisp/org.el (org-goto): call org-refile-get-location with NO-EXCLUDE
argument set, otherwise not only are headlines in the current subtree
excluded, but it throws an error if point happens not to be within a
subtree (e.g. at start of buffer).
TINYCHANGE
* org-clock.el (org-clock-out): Do not delete the current clocking task
when org-clock-out-hook clocks in another task
My clock out hook keeps the clock running by automatically clocking in
a new task (the parent task, or the default task). This sets a new
clocking task which was then clobbered at the end of org-clock-out
so that J in the agenda would return
"No running clock, use `C-c C-x C-j' to jump to the most recent one"
We now detect that another task is clocked in and skip clearing the
org-clock-current-task variable used by the agenda to determine if
the clock is currently running.
* org.el (org-scan-tags): Fix highlighting in sparse-tree.
`org-get-heading' uses `org-heading-regexp' introduced by
dfcb6faef1 but `org-scan-tags' assumed
match groups of the old regular expression.
This should fix a bug reported by Suvayu Ali in
<20120209032255.431e8197@kuru.dyndns-at-home.com>.
* org-clock.el (org-in-clocktable-p): Moved to org.el.
* org.el (org-in-clocktable-p): New function. Moved from org-clock.el
Fixes a bug reported by suvayu ali in
<CAMXnza2W9VSJ2d-dDmsByNmTVgxnt1Onp=J5S=TsFEi8MOVNtg@mail.gmail.com>.
`org-context' depends on the function but org.el does not depend on
org-clock.el.
* org-exp.el (org-export-get-title-from-subtree): Don't format tags in
title if title headline does not have tags.
Fixes a bug reported by John Hendy in
<CA+M2ft_UnBVfUbmoUX6J2MY7e_9w+7an5n23rAarpnnQnaV=ZA@mail.gmail.com>.
* lisp/org-footnote.el (org-blank-before-new-entry,
org-export-footnotes-seen, org-export-footnotes-data): Fix bogus
declarations.
This fixes bug #10745. Thanks to Steve Revilak for the report and to
Glenn Morris for the solution.
* lisp/org-exp-blocks.el (org-export-blocks): Changed the name of
exporting comment blocks given that it seems regular comment blocks
no longer export.
* lisp/ob-exp.el (org-babel-exp-in-export-file,
org-babel-exp-src-block, org-babel-exp-inline-src-blocks): Allow
org-current-export-file to contain a buffer.
This allows to resolve references from a buffer not visiting any file
(i.e. a temporary buffer) during export process.
Conflicts:
lisp/ob-exp.el (org-babel-exp-in-export-file): Allow
org-current-export-file to contain a buffer name.
* lisp/org-lparse.el (org-lparse-do-convert): Replace
`call-process' with `shell-command-to-string'.
* lisp/org-odt.el (org-export-odt-convert-processes): Add a new
converter which depends solely on LibreOffice and nothing
else.
(org-export-odt-convert-process): Make the above native
converter the default.
Thanks to Giles for introducing the "--convert-to" option of
soffice.exe. The option seems to be a fairly recent
development.
http://imperfectsoftware.blogspot.in/2012/01/one-of-my-less-enjoyable-tasks-is-to.html
With this change, one can export to pdf via odt by a simple
(setq org-export-odt-preferred-output-format "pdf")
There is no need to install additional converters.
* lisp/org-footnote.el (org-footnote-create-definition): Fix space
insertion when creating a new footnote. This fixes newline munching
when `org-footnote-section' is nil and blank lines stacking when it
isn't nil.
Thanks to Eric Abrahamsen for reporting this.
* lisp/org-footnote.el (org-footnote-normalize): Ensure footnote
definition will be inserted at the end of the section corresponding
to to its first reference.
* lisp/org-footnote.el (org-footnote-at-definition-p): Make sure to
move point at the beginning of the separator before skiping white
spaces. Refactor code.
This makes it easier to keep consistent behavior.
* lisp/ob-tangle.el (org-babel-tangle-clean): Just use default value.
* lisp/ob.el (org-babel-noweb-wrap): Add default value.
(org-babel-expand-noweb-references): Just use default value.
* lisp/org-exp.el (org-export-select-backend-specific-text): Always
preserve original indentation as a text property so that lists do
not get broken by indentation at column 0.
* org.el (org-at-drawer-p): Normalize the docstring to match
other `org-at-*-p' docstrings.
(org-indent-block, org-indent-drawer, org-at-block-p): New
functions.
(org-metaright): Use the new functions to indent a drawer or a
block depending on the context. Also update the docstring.
* org.el (org-set-regexps-and-options): Set the value of
`org-drawers' by adding the value of the infile #+DRAWERS
option to that of the existing `org-drawers'.
* org.texi (Drawers): Clearly states that #+DRAWERS will add
drawers to the one originally listed in `org-drawers'.
* org-inlinetask.el (org-inlinetask-toggle-visibility): Use
`org-show-entry' instead of `outline-flag-region' to keep the
drawers folded when unfolding an inline task.
Thanks to Viktor Rosenfeld for requiring this.
* lisp/org.el (org-open-link-from-string): Regard `reference-buffer'
when setting `org-inhibit-startup'.
When opening a link to another Org file not yet opened (first close it
if opened) before this patch:
1) When point is on the line with the link and the line is not a
heading then the target file is opened with the target file startup
view state, e. g. the default OVERVIEW.
2) When point is on the heading of the entry of which the link is part
of then the target file is opened with "SHOW ALL". But it is
expected to regard the target file startup view state like case 1).
Note: Only in case 2) `org-open-at-point' uses
`org-offer-links-in-entry' and from there `org-open-link-from-string'.
example current buffer with link:
#+BEGIN_SRC org
,* section
, [[file:myfile.org::*mytarget]]
#+END_SRC
example target file myfile.org:
#+BEGIN_SRC org
,* mytarget
, text
,*** subsection
#+END_SRC
Thanks to Sean O'Halpin for suggesting this change.
* lisp/ob-tangle.el (org-babel-tangle-clean): Use the customizable
noweb wrappers.
* lisp/ob.el (org-babel-noweb-wrap-start): Begin a noweb reference.
(org-babel-noweb-wrap-end): End a noweb reference.
(org-babel-noweb-wrap): Apply the customizable noweb wrappers.
(org-babel-expand-noweb-references): Use the customizable noweb
wrappers.
* lisp/org-odt.el (org-odt-format-preamble): Don't insert TOC here.
Delay it till the end of export.
(org-odt-begin-document-body): Make a note of the default
position of TOC in `org-lparse-dyn-first-heading-pos'.
(org-odt-insert-toc): Insert TOC as directed by
[TABLE-OF-CONTENTS] line or at the default position.
(org-odt-end-export): Call `org-odt-insert-toc'.
Fix for the following bug:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00974.html
* org.el (org-insert-property-drawer): Not an interactive
command anymore.
(org-insert-drawer): With a prefix argument, insert a property
drawer. Check for headline within the region before inserting
the drawer. Don't include special drawers in the completion
table.
(org-mode-map): New keybinding `C-c C-x d' for
`org-insert-drawer'.
* org.texi (Drawers): How to insert/complete drawers.
Thanks to Nicolas Goaziou for the discussion and the patch.
* org-pcomplete.el (pcomplete/org-mode/drawer): New function
to complete drawer at point.
(org-thing-at-point): Use it.
Thanks to Nick Dokos for a request in this area.
* lisp/ob.el:
Fix `org-babel-result-end' command to provide consistent result
removal where result is type `wrap'. Prior to this fix
multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to
the end of results (one newline per block execution).
This fixes the test `test-ob/org-babel-remove-result--results-wrap'
* testing/lisp/test-ob.el:
Uncomment test since it now passes.
Clocking only works with headings indented with less than `30' stars
(hardcoded `lmax' value in `org-clock-sum'). Since especially inline
tasks may dupe someone into using more stars, document the limit in
the docsring of `org-inlinetask-min-level'.
* org.el (org-read-date): New parameter `inactive' when
reading for insertion of inactive timestamps.
(org-time-stamp, org-read-date-display): Use the new
parameter.
Thanks to François Pinard for this suggestion.
* lisp/ob.el (org-babel-expand-noweb-references): Only allow
reference names which start and end with non-whitespace characters.
Also, raise errors as appropriate given org-babel-noweb-error-langs.
* doc/org.texi (noweb-sep): Document new header argument.
* lisp/ob.el (org-babel-common-header-args-w-values): Add new header
argument.
(org-babel-expand-noweb-references): Use header argument rather than
customization variable.
* org-capture.el (org-capture-place-item): Don't search for
position in existing list if :exact-position was supplied.
This fixes a bug reported by François Pinard in
<http://thread.gmane.org/gmane.emacs.orgmode/49995>.
* lisp/ob.el (org-babel-noweb-separator): Custom variable for
accumulated noweb references.
(org-babel-expand-noweb-references): Allow separator for noweb
references.
* doc/org.texi (noweb-ref): Documentation of this new custom variable.
* lisp/org.el (org-beginning-of-line): In an item, special position
for C-a is after check-box, if any.
(org-special-ctrl-a/e): Modify doc-string accordingly.
* lisp/org-odt.el (org-export-odt-format-formula): Use :style
property to specify custom table styles.
Continuation of the earlier commit titled: "Put table width
under user-control".
* lisp/ob-exp.el (org-babel-exp-call-line-template): Control export of
additional call line information.
(org-babel-exp-non-block-elements): Fancier call line export.
* testing/examples/babel.org (an): Example data to test new call line
export.
* testing/lisp/test-ob-exp.el (ob-exp/export-call-line-information):
Test new call line export.
* lisp/org-odt.el (org-odt-entity-frame-styles): Add frame params
for images that are anchored as character.
(org-export-odt-format-image): Handle new anchor type
"as-char".
(org-export-odt-default-image-sizes-alist): Misc. change.
(org-export-odt-format-formula): Misc. change.
With this change, one can use the below snippet to produce
images that are laid out side-by-side.
#+ATTR_ODT: :width 7 :height 7 :anchor as-char
#+header: :file foo.png
[[./foo.png]]
#+caption: bar
#+ATTR_ODT: :width 7 :height 7 :anchor as-char
#+header: :file bar.png
[[./bar.png]]
See http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00677.html.
* lisp/org-odt.el (org-odt-label-styles): Add a new style.
(org-odt-category-map-alist): Use it.
Andreas Leha writes:
The following snippet exports correctly to LaTeX and to html, but
produces the text "Figure Figure" in odt.
Could the behaviour be synchronized?
=== example.org ==========================
* Test ref
plot(1:10, 1:10)
Here is a reference to Figure \ref{fig:bar}
=== example.org ==========================
* lisp/org-odt.el (org-odt-table-style-format): New. Template for
auto-generated table styles.
(org-odt-automatic-styles, org-odt-object-counters): New
variables.
(org-odt-add-automatic-style): New function.
(org-odt-write-automatic-styles): New function. Create
automatic styles for tables that have custom :rel-width.
(org-odt-begin-table): Parse attributes specified with
"#+ATTR_ODT: " option and use it to create an automatic table
style.
(org-odt-save-as-outfile): Call
`org-odt-add-write-automatic-styles'.
(org-odt-init-outfile): Init newly add variables.
(org-odt-section-count): Remove it.
(org-odt-begin-section): Use `org-odt-add-automatic-style' to
generate an automatic section name.
Customize table width using :rel-width option. For example,
to create a table of width 60% use:
#+attr_odt: :rel-width 60
| A | B |
|---+---|
| | |
* lisp/org-src.el (org-src-in-org-buffer): Run commands in the parent
buffer.
(org-edit-src-save): Use new macro.
(org-src-tangle): Tangle the parent buffer.
* org.el (org-set-tags-command, org-set-tags): Make ̀C-u C-c
C-q' do the right thing even when point is before the first
heading.
Thanks to François Pinard for mentioning this.