1
0
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-12-12 09:28:11 +00:00
Commit Graph

775 Commits

Author SHA1 Message Date
Bastien Guerry
5953798522 Clean handling :html-pre/postamble options wrt author/email/creator-info.
* org-html.el (org-export-html-preamble)
(org-export-html-postamble): now default to `nil'.
(org-export-as-html): when :html-pre/postamble is nil, fall
back on the default pre/postamble, which depends on the
:author-info, :email-info, :creator-info options.

* org-exp.el (org-export-plist-vars): reorder the alist.

* org.texi (Export options): better document :html-preamble
and :html-postamble: setting these options will override any
:author-info, :email-info and :creator-info options for the
HTML export.
2011-03-04 16:32:10 +01:00
Bastien Guerry
35ba10c0af Bugfix when exporting TODO keywords from the headline.
* org-exp.el (org-export-remove-headline-metadata): bugfix:
don't case-fold-search to avoid mixing TODO keywords with real
headline words.

Thanks to Samuel Wales for spotting and reporting this.
2011-03-02 18:43:50 +01:00
Bastien Guerry
99675ffead Use `org-export-current-backend' whenever possible.
* org-special-blocks.el
(org-special-blocks-make-special-cookies): Use
`org-export-current-backend'.

* org-publish.el (org-publish-aux-preprocess): Use
`org-export-current-backend'.

* org-inlinetask.el (org-inlinetask-export-handler): Use
`org-export-current-backend'.

* org-exp.el (org-export-current-backend): New variable.
(org-export-preprocess-string)
(org-export-format-drawer-function)
(org-export-remove-or-extract-drawers)
(org-export-format-drawer)
(org-export-convert-protected-spaces)
(org-export-select-backend-specific-text)
(org-export-mark-list-end, org-export-mark-list-properties)
(org-export-attach-captions-and-attributes)
(org-export-replace-src-segments-and-examples)
(org-export-format-source-code-or-example)
(org-export-number-lines): Use the new global variable instead
of a local variable.

* org-exp-blocks.el (org-export-blocks-format-ditaa)
(org-export-blocks-format-dot)
(org-export-blocks-format-comment): Use
`org-export-current-backend'.
2011-03-01 20:01:42 +01:00
Jambunathan K
0135cb9c33 org-export-preprocess-string: Use backend var 2011-02-28 12:19:35 +01:00
Nicolas Goaziou
83b782c916 Change internal list end marker to avoid confusing special blocks
* lisp/org-exp.el (org-export-mark-list-end): change end marker
* lisp/org-docbook.el (org-export-docbook-list-line): use new marker.
* lisp/org-html.el (org-html-export-list-line): use new marker
* lisp/org-latex.el (org-export-latex-lists): use new marker
2011-02-28 11:20:06 +01:00
Bastien Guerry
77c278c932 Fix small typos in docstrings. 2011-02-19 12:52:26 +01:00
Nicolas Goaziou
feb1a17083 org-exp: set correct text properties when replacing special blocks
* lisp/org-exp.el (org-export-select-backend-specific-text): add
  `original-indentation' property when replacing #+begin_backend and
  #+backend blocks with their content. This is needed for lists, as
  they must know if the block belonged to them.
2011-02-18 13:43:46 +01:00
Nicolas Goaziou
bd68169b4b org-list: reorder file, rename functions, improve comments
* lisp/ob.el (org-babel-result-end): apply renaming.
* lisp/org-exp.el (org-export-mark-list-properties): apply renaming.
* lisp/org-list.el (org-list-prevs-alist): renamed from
  org-list-struct-prev-alist.
(org-list-parents-alist): renamed from org-list-struct-parent-alist.
(org-list-write-struct): renamed from org-list-struct-fix-struct.
(org-list-parse-list, org-sort-list, org-list-indent-item-generic,
org-toggle-checkbox, org-update-checkbox-count, org-cycle-list-bullet,
org-list-repair, org-insert-item, org-move-item-up, org-move-item-up,
org-move-item-down, org-next-item, org-previous-item,
org-end-of-item-list, org-beginning-of-item-list, org-apply-on-list):
apply renaming.
(org-get-bullet): removed function, as it is not needed anymore.
2011-02-18 12:45:11 +01:00
Nicolas Goaziou
781228183a org-list: implement alphabetical lists
* lisp/org-list.el (org-alphabetical-lists): new variable
(org-item-re, org-list-full-item, org-cycle-list-bullet,
org-list-struct-fix-bul, org-list-inc-bullet-maybe): reflect
introduction of the new variable.
(org-item-beginning-re): changed into a function, so any modification
of `org-alphabetical-lists' will not require reloading Org.
(org-at-item-p, org-toggle-checkbox, org-update-checkbox-count,
org-list-parse-list, org-list-send-list): reflect changes to
`org-item-beginning-re'.
(org-list-use-alpha-bul-p): new function.
* lisp/org.el (org-check-for-hidden): reflect changes to
`org-item-beginning-re'.
* lisp/org-capture.el (org-capture-place-item): reflect changes to
`org-item-beginning-re'.
* lisp/org-docbook.el (org-export-docbook-list-line): handle new type
of items.
* lisp/org-exp.el (org-export-mark-list-end,
org-export-mark-list-properties): reflect changes to
`org-item-beginning-re'.
* lisp/org-html.el (org-html-export-list-line): handle new type of
items.
* lisp/org-latex.el (org-export-latex-lists): handle new type of items
and reflect changes to `org-item-beginning-re'.
* lisp/org-ascii.el (org-export-ascii-preprocess): handle new counters.

Modified from a patch by Nathaniel Flath.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou
2c79244687 Change function org-list-end-re into a variable
* lisp/org-list.el (org-list-end-re): removed function and made it a
  variable. There's no need for the overhead of calling the function
  every at every line in a list. User will have to reload Org if he
  change value of either `org-list-end-regexp' or
  `org-empty-line-terminates-plain-lists'.
(org-in-item-p,org-list-struct,org-list-parse-list): apply change.
* lisp/org-exp.el (org-export-mark-list-end,
  org-export-mark-list-properties): apply change
* lisp/org-latex.el (org-export-latex-lists): apply change. Also
  prevent items with org-example property to be considered as real
  items.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou
23e5d5720e org-exp: split list processing in two parts to better handle org-babel
* lisp/org-exp.el (org-export-preprocess-string): mark list endings
  before babel blocks preprocessing starts, so blank lines that may be
  inserted do not break list's structure. Then, mark list with special
  properties required by exporters. Thus output from babel can easily
  be included in lists.
(org-export-mark-list-end): new function
(org-export-mark-list-properties): new function
(org-export-mark-lists): removed function. It was split into the two
  preceding functions.
2011-02-18 12:45:10 +01:00
Nicolas Goaziou
b37761715e Added variable to configure where lists should be interpreted
* lisp/org-list.el (org-list-forbidden-blocks): variable renamed from
  org-list-blocks.
(org-list-export-context): new variable

* list/org-exp.el (org-export-mark-lists): use new variable.

* list/org-latex.el (org-export-latex-lists): use new variable
2011-02-18 12:45:09 +01:00
Nicolas Goaziou
69e02a73de Modified export engines for lists
* lisp/org-exp.el (org-export-mark-lists): new function, replacing
  org-export-mark-list-ending. It adds information as text properties
  to every list, before changes done by exporter destruct them.

* lisp/org-html.el (org-export-as-html): delegate list handling to
  external function org-html-export-list-line.
(org-html-export-list-line): new function.

* lisp/org-latex.el (org-export-latex-lists): small modification.
2011-02-18 12:45:09 +01:00
Nicolas Goaziou
2adbcfffe1 Remove uses of deprecated top-point and bottom-point functions
* lisp/org.el (org-skip-over-state-notes,org-store-log-note): use new
  accessors.

* list/ob.el (org-babel-result-end): use new accessors.

* list/org-exp.el (org-export-mark-list-ending): use new accessors.
2011-02-18 12:45:08 +01:00
Bastien Guerry
d03d3575cb Code cleanup: always use 'backend instead of htmlp, latexp, etc. 2011-02-16 10:58:04 +01:00
Bastien Guerry
0491e5305e `org-export-default-language': Better docstring. 2011-02-15 18:25:43 +01:00
Dan Davison
fda90a9aad New function `org-clone-local-variables'.
* org-exp.el (org-export-preprocess-string): Set the source
buffer and use `org-clone-local-variables' to get local
variables from it.

* org.el (org-clone-local-variables): New function.
2011-02-15 18:03:58 +01:00
Dan Davison
695b15da6d Allow empty strings in minted/listings latex options
* lisp/org-exp.el (org-export-format-source-code-or-example):
Allow empty string as second element in minted/listings options

Both

    (setq org-export-latex-minted-options
          '(("frame" "lines")
            ("fontsize" "\\scriptsize")
            ("linenos" "")))

and

    (setq org-export-latex-minted-options
          '(("frame" "lines")
            ("fontsize" "\\scriptsize")
            ("linenos")))

will result in latex like

\begin{minted}[frame=lines,fontsize=\scriptsize,linenos]{common-lisp}
2011-02-15 15:01:25 +00:00
Dan Davison
65d0b3d353 New UI for configuring latex src code export.
Three new user-customizable variables:

org-export-latex-listings-options (default nil)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Association list of options for the latex listings package.

These options are supplied as a comma-separated list to the
\\lstset command. Each element of the association list should be
a list containing two strings: the name of the option, and the
value. For example,

  (setq org-export-latex-listings-options
    '((\"basicstyle\" \"\\small\")
      (\"keywordstyle\" \"\\color{black}\\bfseries\\underbar\")))

will typeset the code in a small size font with underlined, bold
black keywords.

Note that the same options will be applied to blocks of all
languages.

See ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/listings/listings.pdf

customization group: org-export-latex

org-export-latex-minted-options (default nil)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Association list of options for the latex minted package.

These options are supplied within square brackets in
\\begin{minted} environments. Each element of the alist should be
a list containing two strings: the name of the option, and the
value. For example,

  (setq org-export-latex-minted-options
    '((\"bgcolor\" \"bg\") (\"frame\" \"lines\")))

will result in src blocks being exported with

\\begin{minted}[bgcolor=bg,frame=lines]{<LANG>}

as the start of the minted environment. Note that the same
options will be applied to blocks of all languages."

customization group: org-export-latex

See minted.googlecode.com/files/minted.pdf

org-export-latex-custom-lang-environments (default nil)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Association list mapping languages to language-specific latex
environments used during export of src blocks by the listings
and minted latex packages. For example,

  (setq org-export-latex-custom-lang-environments
     '((python \"pythoncode\")))

* lisp/org-exp.el (org-export-format-source-code-or-example):
  Support new user-customizable options
(org-export-latex-custom-lang-environments): Ensure new variable is defined
(org-export-latex-listings-options): Ensure new variable is defined
(org-export-latex-minted-options): Ensure new variable is defined

* lisp/org-latex.el (org-export-latex-listings-options): New variable
(org-export-latex-minted-options): New variable
(org-export-latex-custom-lang-environments): New variable
2011-02-15 15:01:25 +00:00
Bastien Guerry
ed6d676026 Code cleanup: use a generic :for-backend parameter. 2011-02-15 11:07:46 +01:00
Lawrence Mitchell
aa6dba8a74 Only match complete words in org-export-add-options-to-plist
* org-exp.el (org-export-add-options-to-plist): Require match to start
at a word-boundary.

Previously, if an option was the suffix of another option (such as TeX
and LaTeX) the setting for the former would propagator to the latter.
This seems like an unintended consequence of a lax regexp in
org-export-add-options-to-plist.  This patch allows options to share a
suffix with another option by requiring that the match against an
option starts at a word-boundary.
2011-02-13 00:47:51 +01:00
Bastien Guerry
3411a9d759 New variable to set the initial export scope.
* org-exp.el (org-export-initial-scope): new custom variable.
(org-export): Use this new variable.  If there is an active
region, tell it when prompting the user for an export command.
Also change the way the function handles selection of buffer
and subtree export.

----
Now `1' switches between subtree/buffer export until the user
select an export command.  Also, when there is an active region,
modify the message so that the user is aware he will only export
the surrounding subtree.
2011-02-11 10:44:35 +01:00
Bastien Guerry
da8dc7bba7 Rewrite the handling of HTML preamble/postamble.
* org-html.el (org-export-html-auto-preamble)
(org-export-html-auto-postamble): Remove.
(org-export-html-preamble, org-export-html-postamble): Turn
into custom variables.  Update the docstrings.
(org-export-html-preamble-format)
(org-export-html-postamble-format): New custom variables.
(org-export-as-html): Use org-export-html-postamble-format and
org-export-html-preamble-format.
(org-export-html-title-format): delete.

* org-exp.el (org-export-plist-vars): Remove
:auto-preamble and :auto-postamble.  Rename :preamble and
:postamble to :html-preamble and :html-postamble.

* org-publish.el (org-publish-project-alist): Remove
:auto-preamble and :auto-postamble.  Rename :preamble and
:postamble to :html-preamble and :html-postamble.

* org.texi (Publishing options): replace :preamble and
:auto-preamble by :html-preamble (same for postamble.)
2011-02-11 01:27:15 +01:00
Bastien Guerry
9e8f1ddcd8 Fix typo. 2011-02-07 16:35:59 +01:00
Dan Davison
123f3b774c make export dispatcher go away promptly
Following on from Stephen's recent post, a
thing-that-slightly-bothers-me is the way the export dispatcher window
doesn't go away until export is complete. I've briefly looked at the
code twice now and it wasn't obvious to me why the save-window-excursion
(line 941 org-exp.el) wasn't already doing what I wanted. However, the
change below seems to have the effect I wanted. While this particular
solution may be a hack, I wonder whether people would prefer its
behaviour? E.g. try exporting this:

#+title: title

#+begin_src sh :exports results
sleep 5 && echo hello
#+end_src

export can often take several seconds and it's nice to be able to zone
out looking at your org document rather than the dispatcher window.

	Modified lisp/org-exp.el

(I see that (sit-for .0001) is used in a couple of places in Org for
this effect, so maybe that should be used instead.)

Dan
2011-02-04 20:02:26 +01:00
Bastien Guerry
b93aa70551 Fix bug in org-export-target-internal-links.
* org-exp.el (org-export-target-internal-links): Locally turn
on `org-link-search-must-match-exact-headline' to match exact
internal links.

Thanks to Jambunathan K for spotting this.
2011-02-03 17:59:56 +01:00
Osamu Okano
a017fca37f Various docstrings typo fixes by Osamu OKANO. 2011-02-01 13:05:13 +01:00
David Maus
6575b252dc org-faq: Invalid XHTML
At Tue, 11 Jan 2011 03:31:11 +0530,
Jambunathan K wrote:
>
>
> There are 16 errors while validating org-faq page.
>
> http://validator.w3.org/check?uri=http%3A%2F%2Forgmode.org%2Fworg%2Forg-faq.html&charset=%28detect+automatically%29&doctype=Inline&group=0
>
> Can such errors be not caught as soon as it happens?

Attached patch fixes a glitch in Org's HTML export and mitigates the
problem of invalid id and name attributes.

Best,
  -- David
2011-01-31 19:32:19 +01:00
Lawrence Mitchell
81bac18755 Quote \[cmd] in docstring of org-export-with-LaTeX-fragments
* org-exp.el (org-export-with-LaTeX-fragments): Fix docstring so that
\\[ a = b \\] is not interpreted as a keybinding by
`substitute-command-keys'.

In a docstring \\[text] is used to indicate that text should be
interpreted by `substitute-command-keys'.  To avoid this
interpretation, we need to prefix it with \\=.
2011-01-26 19:07:31 +01:00
Julien Danjou
84d7165d74 org: remove org-invisible-p
I just found a left over in org-list.el. :)

Updated patch attached.

>From bf6c65a42e04d4753c58795442a479685bb5f318 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Wed, 26 Jan 2011 11:14:11 +0100
Subject: [PATCH] org: remove org-invisible-p

* org.el: Remove org-invisible-p: outline-invisible-p is
available in Emacs 22 and in recent XEmacs 21. Replace in
various files.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-01-26 18:26:46 +01:00
Bastien Guerry
c8ec337d68 org-exp.el: cosmetic change to `org-get-file-contents' 2011-01-18 01:24:12 +01:00
Puneeth Chaganti
7b399fe128 How do I include text between a range of line numbers with #INCLUDE
Hi Carsten,

On Sat, Jan 8, 2011 at 11:35 PM, Carsten Dominik
<carsten.dominik@gmail.com> wrote:
> Hi Puneeth,
>
> can cou please augment the patch with a propert ChangeLog-like entry, and
> with documentation for the manual, and then resubmit?

Here is a patch with a ChangeLog entry and documentation for the
manual. Please tell me if it looks OK. Also, I hope using
git-format-patch is the right way to send this page. If not, what is
the right way?

Thanks,
Puneeth

>From 4a9be5b1a7a19c5d092ed14a86d29ad83122e9a8 Mon Sep 17 00:00:00 2001
From: Puneeth Chaganti <punchagan@gmail.com>
Date: Sun, 9 Jan 2011 00:48:51 +0530
Subject: [PATCH] Include only specified range of line numbers of a file

* doc/org.texi (Include files): Document :lines.
* lisp/org-exp.el (org-export-handle-include-files): Support :lines
property.
(org-get-file-contents): New argument lines to include specify a range
of lines to include.

On Fri, Jan 7, 2011 at 1:29 PM, Puneeth <punchagan@gmail.com> wrote:
> On Fri, Jan 7, 2011 at 10:03 AM, Venkatesh Choppella
> <venkatesh.choppella@iiit.ac.in> wrote:
>> I would like to include a part of a file (between a given range of
>> line numbers) instead of the whole file.  Is there a way to do that
>> in org-mode?
>
> It isn't possible to include files using line numbers, as of now.
> Here's a quick patch that would add this feature.  I have tested it
> with small files and works fine. Can somebody tell me if it looks
> good?
>
> :lines "5-10"  will include the lines from 5 to 10, 10 excluded.
> :lines "-10"  will include the lines from 1 to 10, 10 excluded.
> :lines "5-"  will include the lines from 1 to the end of the file.
>
> HTH,
> Puneeth
2011-01-18 01:02:04 +01:00
Carsten Dominik
08755d7aa9 Fix regexp in export engine 2011-01-05 17:53:41 +01:00
Bastien Guerry
a39c35fcd9 org-exp.el: Inhibit read-only when grabbing the title from a subtree.
Eric S. Fraga found this problem while trying to export a subtree from
a read-only file.
2011-01-04 17:03:14 +01:00
Nicolas Goaziou
478eabccbd org-exp: ensure list ending marker is inserted on a line on its own
* lisp/org-exp.el (org-export-mark-list-ending): insert additional
  newline characters if end-list-marker is at a wrong position.

This solves a problem arising when exporting a region to HTML with a
list ending at the end of region. The marker would then be inserted on
the last line, following text from the list.
2010-12-22 09:54:14 +01:00
Eric Schulte
f8000a9bc1 org-export-string now accepts symbolic or string fmt argument
* lisp/org-exp.el (org-export-string): Use `format' to construct
  function call to allow symbolic or string arguments.
2010-12-16 18:09:51 -07:00
Carsten Dominik
7666ba421f Version number back to 7.4 2010-12-10 18:49:40 +01:00
Carsten Dominik
76a25715c9 Bump version number to 7.5 2010-12-10 18:43:10 +01:00
Nicolas Goaziou
9be9f727f8 Fix LaTeX export of subtrees and inline tasks 2010-12-06 19:13:09 +01:00
Puneeth Chaganti
249ae99b18 Include an .org file and lower the level of all its headers
* doc/org.texi (Include files): Document :minlevel.
* lisp/org-exp.el (org-export-handle-include-files): Support :minlevel
property.
(org-get-file-contents): New argument minlevel to demote included
content.

On Sat, Nov 13, 2010 at 1:12 AM, Carsten Dominik
<carsten.dominik@gmail.com> wrote:
>
> On Nov 10, 2010, at 3:46 AM, Jianshi Huang wrote:
>
>> Hi,
>>
>> I know I can include any file using #+INCLUDE.
>>
>> I need to include several org files, but they were edited
>> independently as a complete document.
>>
>> Now I want to lower the levels of headers in these org files
>> automatically during inclusion. Is there a way to do that?
>
> No. But since #+include accepts arguments, it could be implemented,
> something like
>
> #+include "aaa.org" :minlevel 4
>
> or so. I would accept a good patch to this effect.

Here's a patch. I tested it with a simple document and works fine.

Thanks,
Puneeth
2010-11-15 11:15:53 +01:00
Nicolas Goaziou
c303127cee babel: delay call to `org-export-blocks-preprocess' in export
* lisp/org-exp.el (org-export-preprocess-string): delaying code block
  processing a bit to allow correct list parsing in the export string
2010-11-12 16:39:35 -07:00
Dan Davison
e89e1facc2 Remove hard-wired configuration of latex minted export
* lisp/org-exp.el: (org-export-format-source-code-or-example):
  Remove hard-wired configuration of minted export
  (org-export-latex-minted-with-line-numbers): remove variable

* lisp/org-latex.el: (org-export-latex-minted-with-line-numbers):
  remove variable
2010-11-12 11:00:44 +00:00
David Maus
6c95170ca0 Limit search for in-buffer options beginning of first headline
* org-exp.el (org-export-visible): Limit search for in-buffer options
beginning of first headline.
2010-11-07 20:06:54 +01:00
Bastien Guerry
6630edbd0f Set version number to 7.3 2010-11-07 14:52:14 +01:00
Carsten Dominik
350b75be63 Rewrite of the clock table code
* lisp/org.el (org-shorten-string): New function.
* lisp/org-exp.el (org-export-convert-protected-spaces): New function.
(org-export-preprocess-string): Call
`org-export-convert-protected-spaces' to handle new hard spaces.

* lisp/org-clock.el (org-clocktable): New customization group.
(org-clocktable-defaults): New option.
(org-clock-clocktable-formatter): New option.
(org-clock-clocktable-default-properties): New option.
(org-dblock-write:clocktable): Rewrite to split out functionality
into separate functions.
(org-clocktable-write-default):
(org-clocktable-indent-string):
(org-clock-get-table-data): New functions.
* lisp/org-agenda.el (org-agenda-list):
(org-agenda-redo):
(org-agenda-clockreport-mode):
(org-agenda-set-mode-name): Rewrite to implement filtered clock tables.
* doc/org.texi (Clocking commands):
(The clock table): New sections.
(Agenda commands): Document filtered clock reports.
2010-11-02 08:47:23 +01:00
Carsten Dominik
adede9fbaf Fix export bug of a region with an ARCHIVE property set 2010-11-01 13:57:02 +01:00
Carsten Dominik
82af72eef7 Push version number to 7.02trans 2010-10-29 09:11:46 +02:00
Dan Davison
9c55868550 Alter way in which user chooses minted for latex source code export
* lisp/org-exp.el (org-export-format-source-code-or-example): Use
  minted for latex source code export if `org-export-latex-listings' has
  the value 'minted
* lisp/org-latex.el (org-export-latex-listings): Document special
  value 'minted
* lisp/org-latex.el (org-export-latex-minted): Delete variable
2010-10-28 21:55:40 +01:00
David Maus
9e8b867c77 Fix reference to wrong symbol
* org-exp.el (org-export-string): Fix reference to wrong symbol.
2010-10-24 20:41:26 +02:00
Eric Schulte
e6c9936373 suggesting a new function org-export-string
The attached patch adds a new functions org-export-string.

,----
| org-export-string is a Lisp function in `org-exp.el'.
|
| (org-export-string STRING FMT &optional DIR)
|
| Export STRING to FMT using existing export facilities.
| During export STRING is saved to a temporary file whose location
| could vary.  Optional argument DIR can be used to force the
| directory in which the temporary file is created during export
| which can be useful for resolving relative paths.  Dir defaults
| to the value of `temporary-file-directory'.
`----

This function should be useful in user code, and can already reduce the
amount of code in ob-org.el and org-mime.el.

>From e51017e4d7051aad31384a470f0a695dca0d6716 Mon Sep 17 00:00:00 2001
From: Eric Schulte <schulte.eric@gmail.com>
Date: Sun, 17 Oct 2010 15:17:13 -0600
Subject: [PATCH] org-export-string -- exports a string of org-mode markup text

* lisp/org-exp.el (org-export-string): new function org-export-string
  can be used to convert a string of test in org-mode markup to a
  specified format

* contrib/lisp/org-mime.el (org-mime-htmlize): now using new
  org-export-string function for exportation

* lisp/ob-org.el (org-babel-execute:org): now using new
  org-export-string function for exportation
2010-10-22 06:48:32 -06:00
Carsten Dominik
9dc28ea0ed Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-10-22 09:20:05 +02:00
Carsten Dominik
ca991d2ad4 HTML export: Improved support for field alignment, including centering
* doc/org.texi: Document the <c> cookie.
* lisp/org-exp.el (org-store-forced-table-alignment):
(org-export-remove-special-table-lines): Allow the "c" cookie for
table alignment.
* lisp/org-html.el (org-export-table-header-tags):
(org-export-table-data-tags): Add another %s format for the alignment.
(org-export-html-table-align-individual-fields): New option.
(org-format-org-table-html): Implement field-by-field alignment and
support centering.
(org-format-table-table-html): Make sure the new table tag formats
don't break this function.
* lisp/org-table.el (org-table-cookie-line-p):
(org-table-align): Allow for the <c> cookie.
* lisp/org.el (org-set-font-lock-defaults): Allow for the <c> cookie.
2010-10-22 09:19:39 +02:00
David Maus
8d85a67deb Skip normalization of plain links that are part of another link
* org-exp.el (org-export-normalize-links): Skip normalization of plain
links that are part of another link.
2010-10-22 06:22:41 +02:00
Carsten Dominik
7712d78ab4 HTML export: Use forced alignment like <l> or <r> in tables
* lisp/org-table.el (org-table-cookie-line-p): Fix indentation.
* lisp/org-exp.el (org-store-forced-table-alignment): New function.
(org-export-preprocess-string): Call `org-store-forced-table-alignment'.
* lisp/org-html.el (org-format-org-table-html): Use stored
alignment information.
2010-10-21 16:28:06 +02:00
Dan Davison
eb75d6de40 Eliminate a compiler warning caused by the latex minted patch
* org-exp.el (org-export-latex-minted-with-line-numbers):
	Ensure that variable is declared
2010-10-13 08:43:17 +01:00
Dan Davison
60fa8cf31a LaTeX minted package for fontified source code export
* org-exp.el (org-export-format-source-code-or-example): latex
    formatting of source code blocks using the minted package
    (org-export-plist-vars): Add :latex-minted property
    (org-export-latex-minted): Ensure variable is defined
    (org-export-latex-minted-langs): Ensure variable is defined

    * org-latex.el (org-export-latex-minted): new variable
    (org-export-latex-minted-langs): new variable
    (org-export-latex-minted-with-line-numbers): new variable
    (org-export-latex-minted):
2010-10-12 23:20:28 +01:00
Łukasz Stelmach
8b4e52d80c there is no &sacute; in HTML
* lisp/org-exp.el (org-export-language-setup): Fix Polish entries.

Hello.

There is no such named entity as &sacute;. If you want to be 7bit clean
then use &#x015b; (or decimal &#347;).
2010-10-05 11:54:36 +02:00
Carsten Dominik
a1dc916be6 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-09-16 17:20:02 +02:00
David Maus
d78eba7efb Add macro to insert property values into exported text
Example:

{{{property(id)}}}

Will insert the ID property of current subtree if the Org buffer is
exported.

* lisp/org-exp.el (org-infile-export-plist): Define property macro

TINYCHANGE
2010-09-16 16:59:30 +02:00
Nicolas Goaziou
b5eb7047f3 Now both indentation and regexps can end lists
* org-list.el (org-list-ending-method): New customizable variable to
  tell Org Mode how lists end. See docstring.
2010-09-01 19:05:54 +02:00
Nicolas Goaziou
ff6c147ac6 Defined `org-item-beginning-re'. Org capture should recognize new lists.
* org-capture.el (org-capture-place-item): use `org-search-forward-unenclosed'
  and `org-search-backward-unenclosed' and new variable `org-item-beginning-re'.
* org-list.el (org-item-beginning-re): regexp matching beginning of an item.
2010-09-01 19:05:49 +02:00
Nicolas Goaziou
a63ecfa89b Better handling of non-blank-lines types of list enders.
* org-exp.el (org-export-mark-list-ending): fix number of blank lines
  inserted after a list.
* org-list.el (org-list-parse-list): fix case when `org-list-end-re'
  would have an indentation greater than current list.
2010-09-01 19:05:45 +02:00
Nicolas Goaziou
fe42a5e83e Export supports any list ender. Export to ascii has been fixed.
* org-exp.el (org-export-mark-list-ending): Differentiate between
  export backends, and replace `org-list-end-re' by a blank line upon
  exporting.
2010-09-01 19:05:45 +02:00
Nicolas Goaziou
99306969b0 Both latex and html should now export correctly.
* org-html.el (org-export-html-preprocess): Remove unneeded insertion
  of list end marker, as it is now handled by
  `org-export-mark-list-ending'.
* org-html.el (org-export-as-html): Cleaner termination of lists.
* org-exp.el (org-export-mark-list-ending): New function to insert
  specific markers at the end of lists when exporting to a backend not
  using `org-list-parse-list'.
  This function is called early in `org-export-preprocess-string',
  while it is still able to recognize lists.
* org-latex.el (org-export-latex-lists): Better search for lists. It
  now only finds items not enclosed and not protected.
2010-09-01 19:05:45 +02:00
Manish Sharma
2cf6136523 Allow "#" and "%" in tags
Patch largely from Manish, missing points added by Carsten
2010-08-31 08:25:20 +02:00
Carsten Dominik
9bc1d0c74f Avoid a star in a headline to be interpreted as multiline emphasis
* lisp/org-exp.el (org-export-concatenate-multiline-emphasis): Ignore
matches that start in a headline.
2010-08-30 09:39:52 +02:00
Carsten Dominik
294d398544 Remove impact of case-fold-search on LaTeX class setup
* lisp/org-exp.el (org-infile-export-plist): Bind case-fold-search to t.
2010-08-20 08:39:55 +02:00
Carsten Dominik
168fc09928 Minor fix, still in the macro parser 2010-08-14 19:55:57 +02:00
Carsten Dominik
68b960c099 Fix the macro argument parser
* lisp/org-exp.el (org-export-preprocess-apply-macros): Fix the macro
argument parser.

The macro argument parser was swallowing white space after escaped commas.
2010-08-14 16:41:12 +02:00
Carsten Dominik
8c0db0b909 Fix bug with escaping commas in macro arguments 2010-08-14 11:34:39 +02:00
Carsten Dominik
999078b0bf Implement MathJax support
* lisp/org-exp.el (org-export-with-LaTeX-fragments): New default t, which
now means to use MathJax processing for HTML.  Also allow new value
`dvipng' to force the old image processing.
(org-infile-export-plist): Parse for MATHJAX setup line.
* lisp/org-html.el (org-export-html-mathjax-options): New option.
(org-export-html-mathjax-config): New function.
(org-export-html-mathjax-template): New option.
(org-export-html-preprocess): Call the LaTeX snippet processor with an
additional argument to declare special ways of processing.
(org-export-as-html): Bind the dynamical variable
`org-export-have-math'.  Insert the MathJax script template when it is
needed by the document.
* lisp/org.el (org-preview-latex-fragment): Call `org-format-latex' with
the additional processing argument.
(org-export-have-math): New variable, for dynamic scoping.
(org-format-latex): Implement specific ways of processing.  New
function argument for processing type.
(org-org-menu): Remove the entry to configure LaTeX snippet
processing.

MathJax is now the default for displaying math in a browser.
2010-08-13 14:22:16 +02:00
Carsten Dominik
251a3ca7c3 Add org-wikinodes.el as a contributed package
* contrib/lisp/org-wikinodes.el: New file.
* lisp/org-exp.el (org-export-preprocess-after-radio-targets-hook):
(org-export-define-heading-targets-headline-hook): New hooks.
* lisp/org.el (org-modules): Add entry for org-wikinodes.el.
(org-font-lock-set-keywords-hook): New hook.
(org-open-at-point-functions): New hook.
(org-find-exact-headling-in-buffer):
(org-find-exact-heading-in-directory): New functions.
(org-mode-flyspell-verify): Better cursor position for checking if
flyspell should ignore a word.
2010-08-06 15:08:45 +02:00
Carsten Dominik
a84c8a2cba Make internal links in Org files search for an exact headline match
* lisp/org.el (org-link-search-must-match-exact-headline): New option.
(org-link-search-inhibit-query): New variable.
(org-link-search): Search for exact headline match in Org files
* doc/org.texi (Internal links): Document the changes in internal links.

Internal links used to do a fuzzy text search for the link text.  This
patch changes the behavior for Org files.  Here a link [[My Target]]
now searches for an exact headline match, i.e. for a headline that
does look like "* My Target", optionally with TODO keyword, priority
cookie and tags.

The new option `org-link-search-must-match-exact-headline' is
`query-to-create' by default.  This means that a failed link search
will offer to create the headline as a top-level headline at the end
of the buffer.  This corresponds to a wiki-like behavior where missing
targets are automatically created.  If you do not like this behavior,
change the option to t.
2010-08-06 08:34:33 +02:00
Bastien Guerry
0cafae6a6a Allow for multiple classes in HTML_CONTAINER_CLASS.
Based on a patch submitted by David Maus:
http://patchwork.newartisans.com/patch/178/
2010-08-01 11:32:17 +02:00
Eric Schulte
8bda0e276f fix compiler warning in org-exp.el
* lisp/org-exp.el (org-export-latex-listings-w-names): fix compiler
  warning in org-exp.el
2010-07-22 11:36:34 -07:00
Eric Schulte
717c73cc7a improve latex listings code block name export
* lisp/org-exp.el (org-export-format-source-code-or-example): escape
  underscores in code block names on latex listings export

* lisp/org-latex.el (org-export-latex-listings-w-names): make export
  of code block names to latex optional
2010-07-21 10:39:53 -07:00
Carsten Dominik
6aa469b116 Fix bug with exporting table metalines to LaTeX/PDF
* lisp/org-exp.el (org-export-handle-table-metalines): Choose a better
position for checking protectedness.
2010-07-20 17:44:54 +02:00
Carsten Dominik
6268cceec3 Mention release 7.01 on the website, push release number to 7.01trans 2010-07-19 08:33:24 +02:00
Philip Rooke
07cacd881d Correct some docstrings [part 2]
This is a second patch in a series that makes some straightforward
corrections to a number of docstrings.  Each change is normally to:

- correct a typo, or
- fix up hyperlinks to function or variable names, or
- ensure slightly better conformance with the documentation guidelines
  and tips given in the Elisp manual

No attempt is made to provide missing docstrings or document arguments.

Cheers,

Phil
2010-07-15 20:27:12 +02:00
Eric Schulte
e8033b7f04 org-exp: raise an error when trying to export code blocks w/o languages
* lisp/ob.el (org-babel-get-src-block-info): ensure that we don't
  match (and return info for) source blocks without a language

* lisp/org-exp.el (org-export-replace-src-segments-and-examples):
  updated source code block regexp so that the presence of a language
  can be explicitly checked.  Also now raising an error when a source
  block does not have a language.
2010-07-12 12:33:15 -07:00
Carsten Dominik
96e5f293f8 Fix typo 2010-07-11 18:52:47 +02:00
Eric Schulte
5edefbba26 a better way with babel
Of course, an updated patch is attached.

Best -- Eric
Carsten Dominik <carsten.dominik@gmail.com> writes:

> Hi Eric,
>
> I tried to apply the patch, but it does not apply cleanly, maybe due
> to other changes.  Can I ask you to update and resubmit?
>
> Thanks!
>
> - Carsten
>
> On Jun 21, 2010, at 6:37 PM, Eric Schulte wrote:
>
>> Hi Robert,
>>
>> Thanks for the thoughtful message.
>>
>> I present a couple of solutions below.
>>
>> Robert Cunningham <robut@iinet.net.au> writes:
>>
>>> G'day All,
>>>
>>> I wonder if I've missed something and there is a better way.
>>>
>>> Essentially I'm trying to use org babel with R and LaTeX to create
>>> figures
>>> with both long and short captions (for contents)
>>>
>>> I'd started with:
>>>
>>> #+CAPTION: Nice data (filled points indicate less nice data)
>>> #+LABEL:   fig:nicedata
>>> #+ATTR_LaTeX: width=0.98\textwidth
>>> #+begin_src R :file ndata.pdf :width 1000 :height 617 :exports
>>> results
>>>  dotchart(data$ndata)
>>> #+end_src
>>>
>>> which pointed to the need for long/short captions...
>>>
>>> feeling hopeful I tried:
>>>
>>> #+CAPTION: Nice data [Nice data (filled points indicate less nice
>>> data)]
>>> #+LABEL:   fig:nicedata
>>> #+ATTR_LaTeX: width=0.98\textwidth
>>> #+begin_src R :file ndata.pdf :width 1000 :height 617 :exports
>>> results
>>>  dotchart(data$ndata)
>>> #+end_src
>>>
>>
>> I'm attaching a patch [1] which adds shortname support for captions.
>> Once
>> applied, the following syntax will result in a caption with a
>> shortname
>> and a longname.
>>
>> --8<---------------cut here---------------start------------->8---
>> some pre-table text
>>
>> #+source: g-nicedata
>> #+begin_src gnuplot :file graph.png :exports results
>>  plot sin(x)
>> #+end_src
>>
>> #+Caption: [nice data]{a longer description of the niceness of the
>> data}
>> #+results: g-nicedata
>> [[file:graph.png]]
>>
>> some post-table text
>> --8<---------------cut here---------------end--------------->8---
>>
>> however, while this patch is still pending there is an Org-babel
>> solution below which should work immediately.
>>
>>>
>>>
>>> but no luck there.
>>>
>>> Next effort was to try to use R and LaTex more directly with
>>> noweb. I tried
>>> this:
>>>
>>>
>>>
>>> #+srcname: r-nicedata
>>> #+begin_src R :session :file ndata.pdf :results output :exports
>>> results
>>>  dotchart(data$ndata)
>>> #+end_src
>>>
>>>
>>> #+begin_src latex :noweb yes
>>>  \begin{figure}[htb!]
>>>    \centering
>>>    \includegraphics[width=0.98\textwidth]{<<r-nicedata()>>}
>>>    \caption[Nice data]{Nice data (filled points indicate less nice
>>> data)}
>>>    \label{fig:nicedata}
>>>  \end{figure}
>>> #+end_src
>>>
>>>
>>>
>>> This does produce the figure and long/short contents BUT ALSO
>>> produces this:
>>>
>>> #+results: r-nicedata
>>> [[file:ndata.pdf]]
>>>
>>> which upon export results in a link and consequently the plot
>>> appearing both
>>> in the figure and elsewhere. This second plot is unwelcome.
>>>
>>> I've tried assorted :results and :output options but have not found
>>> how to
>>> suppress the #+results: but still obtain the figure. I've always used
>>> the :session option.
>>>
>>> I've also tried twigging an org-export option to suppress pdf
>>> export but the
>>> link is still exported so that is not a solution.
>>>
>>> The current "working" solution is to use the noweb approach and
>>> then use sed
>>> to clean out the links to the second image-ugly to say the least!
>>>
>>
>> You were very close with the noweb approach.  The following
>> combination
>> should work -- notice the ":results silent" header argument to the
>> source block.
>>
>> --8<---------------cut here---------------start------------->8---
>> some pre-table text
>>
>> #+source: g-nicedata
>> #+begin_src gnuplot :file graph.png :results silent :exports none
>>  plot sin(x)
>> #+end_src
>>
>> #+begin_src latex :noweb yes
>>  \begin{figure}[htb!]
>>    \centering
>>    \includegraphics[width=0.98\textwidth]{<<g-nicedata()>>}
>>    \caption[Nice data]{some nice data -- filled points indicate less
>> nice data}
>>    \label{fig:nicedata}
>>  \end{figure}
>> #+end_src
>>
>> some post-table text
>> --8<---------------cut here---------------end--------------->8---
>>
>> is exported to the following latex,
>>
>> --8<---------------cut here---------------start------------->8---
>> some pre-table text
>>
>>
>>
>> \begin{figure}[htb!]
>>  \centering
>>  \includegraphics[width=0.98\textwidth]{graph.png}
>>  \caption[Nice data]{some nice data -- filled points indicate less
>> nice data}
>>  \label{fig:nicedata}
>> \end{figure}
>>
>> some post-table text
>> --8<---------------cut here---------------end--------------->8---
>>
>> Hope this helps,
>>
>> Best -- Eric
>>
>>>
>>>
>>>
>>> All this with org version 6.36c
>>>
>>>
>>> What have I missed? What is the best way to do this?
>>>
>>>
>>> Cheers,
>>>
>>> Robert Cunningham
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>> Footnotes:
>> [1]  From 6a55dcab99bbd7840117b8390ab5db347d2573ef Mon Sep 17
>> 00:00:00 2001
>> From: Eric Schulte <schulte.eric@gmail.com>
>> Date: Mon, 21 Jun 2010 09:02:37 -0700
>> Subject: [PATCH] add short-names to #+captions with support for
>> latex export
>>
>>  captions specified with the following syntax
>>    #+CAPTION: [shortname]{longname}
>>  will have their short and longnames handled appropriately.
>>
>>  Thanks to Robert Cunningham for suggesting this feature.
>>
>> * lisp/org-exp.el (org-export-attach-captions-and-attributes): adding
>>  a shortname attribute to caption strings under the symbol name
>>  org-caption-shortn.
>>
>> * lisp/org-latex.el (org-export-latex-tables): handling caption short
>>  names on table export
>>
>>  (org-export-latex-convert-table.el-table): handling caption short
>>  names on table.el type table export
>>
>>  (org-export-latex-links): handling caption short names on link/image
>>  export
>>
>>  (org-export-latex-format-image): now takes an optional argument
>>  specifying a caption short name
>> ---
>> lisp/org-exp.el   |   14 +++++++++-----
>> lisp/org-latex.el |   21 ++++++++++++++-------
>> 2 files changed, 23 insertions(+), 12 deletions(-)
>>
>> diff --git a/lisp/org-exp.el b/lisp/org-exp.el
>> index 029e4d7..466d7da 100644
>> --- a/lisp/org-exp.el
>> +++ b/lisp/org-exp.el
>> @@ -1256,7 +1256,7 @@ the current file."
>>   (goto-char (point-min))
>>   (while (re-search-forward org-bracket-link-regexp nil t)
>>     (org-if-unprotected-at (1+ (match-beginning 0))
>> -     (let* ((md (match-data))
>> +      (let* ((md (match-data))
>> 	    (desc (match-end 2))
>> 	    (link (org-link-unescape (match-string 1)))
>> 	    (slink (org-solidify-link-text link))
>> @@ -1381,8 +1381,8 @@ removed as well."
>> 					   select-tags "\\|")
>> 			 "\\):"))
>> 	 (re-excl (concat ":\\(" (mapconcat 'regexp-quote
>> -					   exclude-tags "\\|")
>> -			"\\):"))
>> +					    exclude-tags "\\|")
>> +			  "\\):"))
>> 	 beg end cont)
>>     (goto-char (point-min))
>>     (when (and select-tags
>> @@ -1593,11 +1593,14 @@ table line.  If it is a link, add it to the
>> line containing the link."
>> 		    "^[ \t]*\\(|[^-]\\)"
>> 		    "\\|"
>> 		    "^[ \t]*\\[\\[.*\\]\\][ \t]*$"))
>> -	cap attr label end)
>> +	cap shortn attr label end)
>>     (while (re-search-forward re nil t)
>>       (cond
>>        ((match-end 1)
>> -	(setq cap (concat cap (if cap " " "") (org-trim (match-string 1)))))
>> +	(setq cap (concat cap (if cap " " "") (org-trim (match-string 1))))
>> +	(when (string-match "\\[\\(.*\\)\\]{\\(.*\\)}" cap)
>> +	  (setq shortn (match-string 1 cap)
>> +		cap (match-string 2 cap))))
>>        ((match-end 2)
>> 	(setq attr (concat attr (if attr " " "") (org-trim
>> (match-string 2)))))
>>        ((match-end 3)
>> @@ -1609,6 +1612,7 @@ table line.  If it is a link, add it to the
>> line containing the link."
>> 		    (point-at-eol)))
>> 	(add-text-properties (point-at-bol) end
>> 			     (list 'org-caption cap
>> +				   'org-caption-shortn shortn
>> 				   'org-attributes attr
>> 				   'org-label label))
>> 	(if label (push (cons label label) target-alist))
>> diff --git a/lisp/org-latex.el b/lisp/org-latex.el
>> index 01a4b05..6c2aab2 100644
>> --- a/lisp/org-latex.el
>> +++ b/lisp/org-latex.el
>> @@ -1576,7 +1576,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>              (org-table-last-column-widths (copy-sequence
>>                                             org-table-last-column-
>> widths))
>>              fnum fields line lines olines gr colgropen line-fmt align
>> -             caption label attr floatp longtblp)
>> +             caption shortn label attr floatp longtblp)
>>         (if org-export-latex-tables-verbatim
>>             (let* ((tbl (concat "\\begin{verbatim}\n" raw-table
>>                                 "\\end{verbatim}\n")))
>> @@ -1585,6 +1585,8 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>           (progn
>>             (setq caption (org-find-text-property-in-string
>>                            'org-caption raw-table)
>> +		  shortn (org-find-text-property-in-string
>> +			  'org-caption-shortn raw-table)
>>                   attr (org-find-text-property-in-string
>>                         'org-attributes raw-table)
>>                   label (org-find-text-property-in-string
>> @@ -1652,7 +1654,8 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>                           (if floatp "\\begin{table}[htb]\n"))
>>                         (if floatp
>>                             (format
>> -                             "\\caption{%s%s}"
>> +                             "\\caption%s{%s%s}"
>> +			     (if shortn (concat "[" shortn "]") "")
>>                              (if label (concat "\\\label{" label
>> "}") "")
>>                              (or caption "")))
>>                         (if (and longtblp caption) "\\\\\n" "\n")
>> @@ -1680,10 +1683,11 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>
>> (defun org-export-latex-convert-table.el-table ()
>>   "Replace table.el table at point with LaTeX code."
>> -  (let (tbl caption label line floatp attr align rmlines)
>> +  (let (tbl caption shortn label line floatp attr align rmlines)
>>     (setq line (buffer-substring (point-at-bol) (point-at-eol))
>> 	  label (org-get-text-property-any 0 'org-label line)
>> 	  caption (org-get-text-property-any 0 'org-caption line)
>> +	  shortn (org-get-text-property-any 0 'org-caption-shortn line)
>> 	  attr (org-get-text-property-any 0 'org-attributes line)
>> 	  align (and attr (stringp attr)
>> 		     (string-match "\\<align=\\([^ \t\n\r,]+\\)" attr)
>> @@ -1721,7 +1725,8 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>>       (setq tbl (concat "\\begin{center}\n" tbl "\\end{center}")))
>>     (when floatp
>>       (setq tbl (concat "\\begin{table}\n"
>> -			(format "\\caption{%s%s}\n"
>> +			(format "\\caption%s{%s%s}\n"
>> +				(if shortn (format "[%s]" shortn) "")
>> 				(if label (format "\\label{%s}" label) "")
>> 				(or caption ""))
>> 			tbl
>> @@ -1822,6 +1827,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 			  "file")))
>> 	    (coderefp (equal type "coderef"))
>> 	    (caption (org-find-text-property-in-string 'org-caption
>> raw-
>> path))
>> +	    (shortn (org-find-text-property-in-string
>> org-caption-shortn raw-path))
>> 	    (attr (or (org-find-text-property-in-string
>> org-attributes raw-
>> path)
>> 		      (plist-get org-export-latex-options-plist
>> :latex-image-
>> options)))
>> 	    (label (org-find-text-property-in-string 'org-label raw-path))
>> @@ -1859,7 +1865,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 		   (plist-get org-export-latex-options-plist :inline-images))
>> 	      ;; OK, we need to inline an image
>> 	      (insert
>> -	       (org-export-latex-format-image raw-path caption label attr)))
>> +	       (org-export-latex-format-image raw-path caption label
>> attr shortn)))
>> 	     (coderefp
>> 	      (insert (format
>> 		       (org-export-get-coderef-format path desc)
>> @@ -1889,7 +1895,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 	     (t (insert "\\texttt{" desc "}")))))))
>>
>>
>> -(defun org-export-latex-format-image (path caption label attr)
>> +(defun org-export-latex-format-image (path caption label attr
>> &optional shortn)
>>   "Format the image element, depending on user settings."
>>   (let (ind floatp wrapp multicolumnp placement figenv)
>>     (setq floatp (or caption label))
>> @@ -1932,7 +1938,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 	   (floatp "\\begin{figure}%placement
>> \\centering
>> \\includegraphics[%attr]{%path}
>> -\\caption{%labelcmd%caption}
>> +\\caption%shortn{%labelcmd%caption}
>> \\end{figure}")
>> 	   (t "\\includegraphics[%attr]{%path}")))
>>
>> @@ -1953,6 +1959,7 @@ The conversion is made depending of STRING-
>> BEFORE and STRING-AFTER."
>> 			 (expand-file-name path)
>> 		       path))
>> 	       (cons "attr" attr)
>> +	       (cons "shortn" (if shortn (format "[%s]" shortn) ""))
>> 	       (cons "labelcmd" (if label (format "\\label{%s}"
>> 						  label)""))
>> 	       (cons "caption" (or caption ""))
>> --
>> 1.7.0.4
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
> - Carsten

>From 5cbb38e25a2d2eae7c3c688d347f80619ecb8463 Mon Sep 17 00:00:00 2001
From: Eric Schulte <schulte.eric@gmail.com>
Date: Thu, 1 Jul 2010 08:07:17 -0700
Subject: [PATCH] add short-names to #+captions with support for latex export

  captions specified with the following syntax
    #+CAPTION: [shortname]{longname}
  will have their short and longnames handled appropriately.

  Thanks to Robert Cunningham for suggesting this feature.

* lisp/org-exp.el (org-export-attach-captions-and-attributes): adding
  a shortname attribute to caption strings under the symbol name
  org-caption-shortn.

* lisp/org-latex.el (org-export-latex-tables): handling caption short
  names on table export

  (org-export-latex-convert-table.el-table): handling caption short
  names on table.el type table export

  (org-export-latex-links): handling caption short names on link/image
  export

  (org-export-latex-format-image): now takes an optional argument
  specifying a caption short name
2010-07-02 10:14:12 +02:00
Carsten Dominik
a6d8eb4ea9 Fix comment protection issue
* lisp/org-exp.el (org-export-handle-comments): Make sure to check
for protection in the comment line, and not in the line after it.
2010-07-01 11:02:46 +02:00
Eric Schulte
f44832eed0 org-exp: now removing table meta (e.g. #+TBLNAME, #+TBLFM) from export
* lisp/org-exp.el (org-export-handle-table-metalines): this function
  removes table specific meta-lines, now that we aren't wiping
  everything that looks remotely like a comment at the end of the
  export process we have to be sure to catch all of the specific lines
  in org-exp.el
2010-06-30 16:01:38 -07:00
Nicolas Goaziou
011553652e Remove unwanted #+ATTR_Backend and #+Backend during export.
* lisp/org-exp.el: (org-export-select-backend-specific-text) Properly
  get rid of #+Backend and #+ATTR_Backend specifics to backends not
  matching the one we're exporting to.
2010-06-30 14:23:01 -07:00
Eric Schulte
452b00e7e1 org-exp: fixed small bug, use match data before it's overwritten by looking-at
Patch by Carsten

* lisp/org-exp.el (org-export-mark-blockquote-verse-center): fixed
  small bug, now grabbing match data before overwritten by looking-at
  this fixes a problem with remainders of #+end_quote lines appearing
  in exported output
2010-06-28 22:06:49 -07:00
Eric Schulte
0e636dc2ed org-exp: check for protection before removing comments
* lisp/org-exp.el (org-export-handle-comments): check for protection
  before removing comments
2010-06-28 08:00:43 -07:00
Eric Schulte
6da29f1519 integrating org-babel into org.el 2010-06-23 13:41:20 -07:00
Carsten Dominik
af90fb1e4c Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-06-18 09:51:36 +02:00
Carsten Dominik
c201da51b8 Fix source code example bug with plain list export to HTML
* lisp/org-exp.el (org-export-format-source-code-or-example): Mark examples
by a property. o
* lisp/org-html.el (org-export-html-close-lists-maybe): Check if raw
HTML stuff was actually made from an example

Daniel Mahler writes:

> 2. I would like to embed source blocks in numbered lists, without
> breaking the numbering ie:
>
>    1) get ready
>     #+BEGIN_SRC sh
>    get_ready
>     #+END_SRC
>    2) go
>     #+BEGIN_SRC sh
>    go
>     #+END_SRC
>
>    currently the src blocks cause the numbering to reset, so all
> items in a sequence like this are numbered 1

This patch fixes this issue - but I cannot say anymore why the code in
org-export-html-close-lists-maybe does in fact work.  The code looks
wrong, but it seems to work.  What looks wrong is that i does not
check for the true indentation in the case when the line is not
protected.  It must be that this case is covered by some other code
further down in the exporter.
2010-06-18 08:49:25 +02:00
Eric Schulte
18810580f5 removed 'cl functions from org-exp.el to assuage elisp compiler 2010-06-17 10:27:58 -07:00
Bastien Guerry
8ac7e4800c Fix comments export in latex.
* lisp/org-exp.el: comment regexp now matches documentation. No more
protection check when deleting comments before export.

Thanks to Nicolas Goaziou <n.goaziou@gmail.com> for this patch.
2010-06-16 18:14:28 +02:00
Bastien Guerry
5633f7084a org-exp: now recursively resolve #+INCLUDE: files in a safe way
* lisp/org-exp.el (org-export-preprocess-string):
  now using `org-export-handle-include-files-recurse' to resolve
  included files

  (org-export-handle-include-files): now returns a list of the
  included files

  (org-export-handle-include-files-recurse): recursively calls
  `org-export-handle-include-files' while checking to see if the
  process has entered an infinite loop.

Thanks to Eric Schulte for this patch.
2010-06-16 18:13:13 +02:00
Bastien Guerry
359a6bd8be * org-exp.el (org-export-mark-blockquote-verse-center):
Consider environments that end at eob.

Thanks to David Maus for this patch.
2010-06-16 16:08:23 +02:00
Eric Schulte
e9b132d8ba fixed #+include file bug when :prefix was nil but :prefix1 was set
* lisp/org-exp.el (org-get-file-contents): by un-setting prefix1 to ""
  instead of to nil we avoid errors when :prefix1 is defined, but
  prefix is not.
2010-06-13 14:27:49 -07:00
Christian Egli
8b7fd7d8ae Added taskjuggler export to the export dispatcher 2010-06-08 09:20:34 +02:00
Carsten Dominik
79b8411669 Fix bug with protected examples that look like table lines
* lisp/org-exp.el (org-export-remove-special-table-lines): Only fix table
lines that are not protected text.

Giovanni Moretti writes:

> I'm working up a presentation on orgmode for a local club and needed
> to prefix it with a brief emacs overview, and so included this:
>
> #+BEGIN_EXAMPLE
>                      ctrl-P (previous line)
>                           |
>                           |
> Ctrl-A <<<  Ctrl-B <---- o ----> Ctrl-F >>>  Ctrl-E
> Col 1      back char      !       fwd char        EOL
>                           !
>                      ctrl-N (next line)
> #+END_EXAMPLE
>
> :                       ctrl-P (previous line)
> :                            |
> :                            |
> : Ctrl-A <<<  Ctrl-B <---- o ----> Ctrl-F >>>  Ctrl-E
> : Col 1       back char      |       fwd char        EOL
> :                            |
> :                       ctrl-N (next line)
>
> I'm using Orgmode v6.36c and when exporting to HTML (and LaTex
> Beamer), the two lines containing the single vertical bar immediately
> below the "ctrl-P" line in the #+EXAMPLE block vanish, whereas using
> the alternate colon at the beginning of the line notation, the
> rendering is as expected.
>
> Interestingly, enabling the +n option (#+BEGIN_EXAMPLE +n) causes the
> missing lines (lines 2 & 3) to reappear.
2010-06-07 05:53:12 +02:00
Carsten Dominik
70d24c5d03 Implement pretty display of sub- and superscripts.
* doc/org.texi (Subscripts and superscripts): Document that `C-c C-x \'
will also format sub and superscripts.
* doc/orgcard.tex: Document that `C-c C-x \'
will also format sub and superscripts.
* lisp/org.el (org-use-sub-superscripts):
(org-pretty-entities-include-sub-superscripts): Move here from
org-exp.el.
(org-set-regexps-and-options): Parse subscript option and set
`org-use-sub-superscripts' as a local variable.
(org-match-sexp-depth):
(org-create-multibrace-regexp):
(org-match-substring-regexp):
(org-match-substring-with-braces-regexp): Moved here from org-exp.el
(org-set-font-lock-defaults): Call `org-raise-scripts'.
(org-remove-font-lock-display-properties): New function.
(org-unfontify-region): Call
`org-remove-font-lock-display-properties'.
(org-script-display): New constant.
(org-raise-scripts): New function.

When turning on entity display with `C-c C-x \', sub- and superscripts
will also be displayed in a smaller font, and raised/lowered.
2010-06-03 00:06:19 +02:00
Carsten Dominik
cd5ec17af3 Fix typo
Patch by Julien Danjou
2010-05-18 08:01:15 +02:00
Carsten Dominik
f4ac28844e Document the use of the org-export-docbook-xslt-stylesheet variable
Patch by Baoqiu Cui.
2010-05-15 08:07:02 +02:00
Carsten Dominik
38b4fcc90c XEmacs compatibility 2010-05-14 14:40:44 +02:00
Carsten Dominik
9a72345b0f More flexibility for the XSLT command 2010-05-14 13:38:14 +02:00
Carsten Dominik
c86a3fc4aa Push version number to 6.36trans 2010-05-09 06:24:20 +02:00
Carsten Dominik
88100d1580 Release 6.36a 2010-05-09 06:13:54 +02:00
Carsten Dominik
ce6caec446 Automatically remove lines with formatting cookies when exporting tables
Lines that only contain formatting cookies like <l20> or <10> will now
be removed automatically.  Optionally, the first field in a row can
also be "/".
2010-04-28 08:49:35 +02:00
Carsten Dominik
5fd8d0ea33 Fix docstring of `org-export-format-drawer-function'
Patch by Diego F. S. Ramos.
2010-04-25 23:56:37 +02:00
Carsten Dominik
c370a5300b Modify xhtml IDs to comply with CSS standards 2010-04-25 13:44:50 +02:00
Carsten Dominik
3672910d2f Export: Fix bug with ID property search
Jan Bcker writes:

> If you have a headline with an elisp code block containing the following
> line:
>
> " :ID:"
>
> the HTML code will be garbled at the beginning of the headline.
>
> I have attached a minimal test case and the resulting HTML file. The
> #+OPTIONS: line is not needed, but is included to make the HTML file
> less cluttered.
>
> There has to be whitespace between the " and :ID: and the string must be
> ended on the same line. For example, these lines trigger the bug:
>
> " :ID:"
> "   :ID:"
> " :ID: garble-my-html"
>
> while these do not:
>
> ":ID:"
> ":ID: garble-my-html"
> " :ID:
>
2010-04-16 05:12:19 +02:00
Carsten Dominik
43bf1bbbd7 Push version number to 6.35trans 2010-04-15 12:24:55 +02:00
Eric Schulte
ee5a81102d `org-export-as-org' now exports a string when to-buffer equals 'string 2010-04-09 09:08:52 -06:00
Carsten Dominik
6f3026edf1 Release 6.35g 2010-04-08 20:15:15 +02:00
Carsten Dominik
a589c7a22e Release 6.35f 2010-04-08 10:36:32 +02:00
Carsten Dominik
50e5924d8a Release 6.35e 2010-04-07 16:33:52 +02:00
Carsten Dominik
f722763f8a Release 6.35d 2010-04-07 16:26:42 +02:00
Carsten Dominik
d65ed03be6 Update copyright notices and fix wrong version tags 2010-04-07 16:26:10 +02:00
Carsten Dominik
cafbe1d038 Release 6.35c 2010-04-07 08:58:25 +02:00
Carsten Dominik
b213c0f31e Release 6.35b 2010-04-07 07:54:14 +02:00
Carsten Dominik
08d0d2fa20 Release 6.35 2010-04-06 09:16:36 +02:00
Carsten Dominik
8fdf80bb5b Fix whitespace and compiler wanings 2010-04-01 13:11:54 +02:00
Carsten Dominik
9a6113c505 Add special commands for latin1 and utf8 export 2010-04-01 12:44:02 +02:00
Carsten Dominik
da556cee82 Implement new and better support for entities 2010-04-01 12:44:01 +02:00
Carsten Dominik
4892c8899e Implement index generation during export
This new code will search #+INDEX lines in the buffer.  For LaTeX, it
will simple convert these into LaTeX \index{} commands.  For other
backends, it will copy thee entries to a new file, with extension
orgx.  These files can then later be post-processed to create the index.
2010-03-28 09:27:33 +02:00
Carsten Dominik
3cc99bdc1f Fix some docstrings
Patch by David Maus.
2010-03-26 21:34:25 +01:00
Carsten Dominik
7bfd1dc5ae Minor post-fixed about author and email information 2010-03-26 09:13:50 +01:00
Carsten Dominik
3f6a52dd8b New option to turn off export of the email address
Default is actually off.
2010-03-26 08:05:14 +01:00
Carsten Dominik
1d4ee49c91 LaTeX export: Do not mistake table.el borders for strike-through emphasis. 2010-03-24 18:44:25 +01:00
Carsten Dominik
c6cfd3cfd3 HTML export: Fix problem with table attributes when first table line is special
Eric Fraga writes:

> What am I missing?  I tried exporting the following to HTML and the
> caption and HTML attributes seem to be ignored completely.  Also, the
> alignment directives are ignored as well.
>
> --8<---------------cut here---------------start------------->8---
> #+TITLE: test file for org mode
> #+DESCRIPTION: used for bug reports
> #+AUTHOR:    Eric S Fraga
> #+EMAIL:     Eric S Fraga <e.fraga@ucl.ac.uk>
> #+DATE:      2010-03-11 Thu
> #+KEYWORDS:
> #+LANGUAGE:  en
> #+OPTIONS:   H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
> #+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
> #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js
> #+EXPORT_SELECT_TAGS: export
> #+EXPORT_EXCLUDE_TAGS: noexport
> #+LINK_UP:
> #+LINK_HOME:
>
> * tables
>
> #+caption: A very interesting table
> #+attr_html: border="1" rules="all" frame="all" align="center"
> | <r> | <l>                            |
> |  Id | Description                    |
> |-----+--------------------------------|
> |  1. | The first item                 |
> |  2. | the second                     |
> |  4. | we don't have a third one      |
> | 10. | a longer id to check alignment |
> |-----+--------------------------------|
> --8<---------------cut here---------------end--------------->8---
>
> I'm using org current as of yesterday Org-mode version 6.34trans
>  (release_6.34c.186.g1902) and with GNU Emacs 23.1.1
>  (i486-pc-linux-gnu, GTK+ Version 2.18.2) of 2009-11-02 on raven,
>  modified by Debian
2010-03-11 12:27:42 +01:00
Carsten Dominik
9900348e88 Docbook exporter: Fix problems with exporting footnotes and empty lines
Patch by Baoqiu Cui
2010-03-08 19:43:34 +01:00
Carsten Dominik
e7f7a82a74 HTML export: Fix textareas
Textareas no longer have an empty line at the beginning, and the
overflow-x stype property has been moved to the CSS section.

Patch by Ulf Stegemann
2010-02-25 12:26:10 +01:00
Carsten Dominik
d0b0f776d2 Export: Kill product buffer if it has been displayed directly
Request by Livin Stephen Sharma
2010-02-21 09:19:21 +01:00
Eric Schulte
25f76ffa44 babel: now including source code block arguments w/source name on export
This change provides for better export of named source-code blocks,
  with specific support for more attractive html export.  The arguments
  are included with the source code name, and both the source code name
  and code body are wrapped in a div to support styling with css.  For
  example the following CSS can be used to associate a source-code block
  name with it's code body, and to slightly indent the body.

.org-src-container {
  border-left: 4px solid gray;
  padding: 0.5em 0.5em 0.5em 1em; }
  .org-src-container pre {
    margin-left: 1em; }
2010-02-10 13:34:00 -07:00
Eric Schulte
19fec33d9d org-babel: on html export, removed newline after source-name which tricks up line numbering 2010-02-03 09:42:27 -07:00
Carsten Dominik
ac719d6853 Fix a typo/duplication in org-html-entities 2010-02-03 16:14:30 +01:00
Carsten Dominik
05f7b57556 Fix export of long links in code examples 2010-02-02 06:32:26 +01:00
Carsten Dominik
e853e2d798 HTML export: Add class to outline containers using property
The HTML_CONTAINER_CLASS property can now be used to add a property to
the outline container of a node.
2010-02-01 09:37:35 +01:00
Carsten Dominik
6755141562 Improve some docstrings 2010-01-28 18:52:26 +01:00
Carsten Dominik
2e53d9b137 Remove comma after means in many docstrings
Stephen Eglen says these commas should not be there.
2010-01-21 16:15:40 +01:00
Carsten Dominik
06e74afce3 Version number to 6.34trans 2010-01-20 10:13:21 +01:00
Carsten Dominik
a1709ba641 Release 6.34c 2010-01-18 00:10:11 +01:00
Carsten Dominik
2f2f9441d4 Release 6.34b 2010-01-14 23:06:55 +01:00
Carsten Dominik
2b45d655bb Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-01-14 19:42:40 +01:00
Carsten Dominik
bfad012629 Repair the export of source code line references in LaTeX
Marting G. Skjaeveland writes:

> I pulled a fresh copy of org-mode this morning and noticed that
> references to source code line numbers no longer work as they used
> to. Instead of displaying the number of the line with the label, the
> label is displayed.
>
> Exporting the following example, retrieved from the online
> documentation (http://orgmode.org/manual/Literal-examples.html),
>
> -------------------------------------start
> #+BEGIN_SRC emacs-lisp -n -r
>  (save-excursion                  (ref:sc)
>  (goto-char (point-min))       (ref:jump)
> #+END_SRC
>
>  In line [[(sc)]] we remember the current position.  [[(jump)][Line
> (jump)]] jumps to point-min.
>
> -------------------------------------end
>
> gives me in latex export
>
> -------------------------------------start
> \begin{verbatim}
> 1:  (save-excursion
> 2:  (goto-char (point-min))
> \end{verbatim}
>
>  In line \hyperref[(sc)]{(sc)} we remember the current
>  position. \hyperref[(jump)]{Line (jump)} jumps to point-min.
>  -------------------------------------end
>
2010-01-14 18:06:22 +01:00
Eric Schulte
bb949518d2 tweak to source-name LaTeX export 2010-01-12 20:40:21 -07:00
Carsten Dominik
c077142241 Release 6.34a 2010-01-12 08:53:44 +01:00
Eric Schulte
b3e0d4ea7f babel: change exported source-block names to more closely mimic the WEB style 2010-01-10 12:57:14 -07:00
Carsten Dominik
288c724335 Release 6.34 2010-01-10 10:57:53 +01:00
Carsten Dominik
275b6627a6 Release 3.34 2010-01-10 10:54:52 +01:00
Carsten Dominik
26eac8b600 New way to export the enclosing subtree
Press SPC after `C-c C-e' to export the enclosing subtree.  That
subtree is assumes to start at a node with LaTeX_CLASS or
EXPORT_FILE_NAME property.
2010-01-10 08:34:20 +01:00
Carsten Dominik
e5a874e417 Add \checkmark as a valid symbol 2010-01-08 14:50:07 +01:00
Carsten Dominik
70f9001368 Fix some case issues with comment processing during export 2010-01-06 09:55:52 +01:00