Commit Graph

357 Commits

Author SHA1 Message Date
Nicolas Goaziou 39d4bfa0e8 Rename org-export-footnotes-markers to org-export-footnotes-seen
* lisp/org-exp.el (org-export-footnotes-data): change docstring.
(org-export-footnotes-seen): renamed from
org-export-footnotes-markers.
* lisp/org-ascii.el (org-export-as-ascii): apply change.
* lisp/org-docbook.el (org-export-as-docbook): apply change.
* lisp/org-footnote.el (org-footnote-normalize): apply change.
* lisp/org-html.el (org-export-as-html): apply change.
* lisp/org-latex.el (org-export-as-latex): apply change.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou a9e0449f23 org-latex: properly get definition of footnotes during export
* lisp/org-latex.el (org-export-latex-preprocess): rely on
  `org-export-footnotes-markers' to retreive definition of the current
  footnote during export.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 30944f228e Add properties to footnotes during export
* lisp/org-footnote.el (org-footnote-normalize): add `org-footnote'
  property to footnote markers when preparing for exportation.
* lisp/org-html.el (org-export-as-html): read new property to decide
  when to export a footnote.
* lisp/org-docbook.el (org-export-as-docbook): read new property to
  decide when to export a footnote.
* lisp/org-latex.el (org-export-latex-preprocess): ensure footnote at
  column 0 cannot end a list containing it by adding
  `original-indentation' property to it.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 6eee91a117 org-latex: correct bugs in footnote export
* lisp/org-exp (org-export-preprocess-string): normalize footnotes
  before marking lists ending.
* lisp/org-latex.el (org-export-latex-preprocess): work with labels as
  strings and not as numbers.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou 789380330a Insert a customizable separator between footnotes
* lisp/org-docbook.el (org-export-docbook-footnote-separator): new
  variable
  (org-export-as-docbook): add a separator between footnotes.
* lisp/org-html.el (org-export-html-footnote-separator): new variable.
  (org-export-as-html): add a separator between footnotes.
* lisp/org-latex.el (org-export-latex-footnote-separator): new
  variable.
  (org-export-latex-preprocess): add a separator between footnotes.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou ab9c52fd79 Improve footnotes handling in exporters
* lisp/org-exp.el (org-export-footnotes-markers,
  org-export-footnotes-data): new variables.
  (org-export-preprocess-string): use a more explicit argument.

* lisp/org-html.el (org-export-as-html): initialize new variables.

* lisp/org-docbook.el (org-export-as-docbook): initialize new variables.

* lisp/org-latex.el (org-export-latex-footmark-seen): new variable.
  (org-export-as-latex): initialize new variables.
  (org-export-latex-preprocess): allow to export two or more footnotes
  in a row. Also permit to have footnotes refering to previously
  defined footnotes.

* lisp/org-ascii.el (org-export-as-ascii): feed org-footnote-normalize
  with data so it can normalize footnotes before first headline, or
  footnotes with their definition outside exported region.
2011-06-29 12:00:42 +02:00
Laurence Mitchell 8d93fc8a3b lisp/org-latex.el: Convert quotes to their LaTeX equivalents
Convert quotes to their LaTeX equivalents using
org-export-latex-quotation-marks.
2011-06-28 19:18:02 +02:00
Eric Schulte db1c3f6a3e Revert "replacing calls to now-defunct function `interactive-p'"
This reverts commit 4f084e1467.
2011-06-16 21:32:54 -07:00
Eric Schulte 4f084e1467 replacing calls to now-defunct function `interactive-p'
* lisp/org-agenda.el (org-agenda-redo): Replacing call to now-defunct
  function `interactive-p'.
  (org-agenda-show-1): Replacing call to now-defunct function
  `interactive-p'.
  (org-agenda-set-tags): Replacing call to now-defunct function `interactive-p'.
* lisp/org-ascii.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1-to-buffer): Replacing call to now-defunct
  function `interactive-p'.
  (org-export-as-utf8): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-utf8-to-buffer): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-ascii): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-docbook.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-docbook): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-html.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-html): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-latex.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-latex): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-macs.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-called-interactively-p): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-table.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-table-blank-field): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-column): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-dline): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sort-lines): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sum): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-rotate-recalc-marks): Replacing call to now-defunct
  function `interactive-p'.
  (org-table-eval-formula): Replacing call to now-defunct function
  `interactive-p'.
  (orgtbl-send-table): Replacing call to now-defunct function `interactive-p'.
* lisp/org.el: Replacing call to now-defunct function `interactive-p'.
  (org-mode): Replacing call to now-defunct function `interactive-p'.
  (org-copy-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-paste-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-store-link): Replacing call to now-defunct function
  `interactive-p'.
  (org-todo): Replacing call to now-defunct function `interactive-p'.
  (org-occur): Replacing call to now-defunct function `interactive-p'.
2011-06-14 11:37:59 -07:00
Eric Schulte 2601678dc0 replacing the "multicolumn" option for latex tables
This brings the behavior inline with the documentation.

* lisp/org-latex.el (org-export-latex-tables): Check for the
  "multiline" option and set the `floatp' option to true when
  multicolumn tables are requested.
2011-06-14 09:28:38 -07:00
Dan Davison 3ed5915f01 Automatically use pdflatex -shell-escape for minted export
Patch by Bastien

* lisp/org-latex.el: Add -shell-escape to pdflatex commands
2011-06-11 13:40:14 -07:00
Carsten Dominik e05aa5552d Merge branch 'master' of orgmode.org:org-mode 2011-06-01 09:09:26 +02:00
Carsten Dominik b637e261c4 Save match data when checking for table.el table
* lisp/org-latex.el (org-export-latex-special-chars): Save match data
when checking for table.el table.
2011-06-01 08:30:01 +02:00
Nicolas Goaziou 24221723a3 org-latex: ensure footnote contents cannot end a list
* lisp/org-latex.el (org-export-latex-preprocess): add
  `original-indentation' property to footnotes so they cannot possibly
  end a list by being less indented than the item they belong to.
2011-05-31 19:06:02 +02:00
Carsten Dominik 4f27391197 Turn of LaTeX preprocessing for table.el tables
* lisp/org-latex.el (org-export-latex-special-chars): Do nothing in
table.el tables.

Table.el does its own protection of special characters.
2011-05-24 14:02:43 +02:00
Thomas S. Dye cd05598dcd Optional \caption argument for LaTeX export
Aloha all,

The attached patch initializes the existing variable shortn, adds it to
two caption situations in addition to the one already coded, and adds
some description to the manual.

With this patch, #+CAPTION: [Short caption]{Long caption.} in the
Org-mode source exports to \caption[Short caption]{Long caption.} in the
LaTeX export, which is, I think, as it should be.

Many thanks to Nick Dokos who made me understand why earlier patches
hadn't shown up on the patchwork server (wrong mime type, evil mail
client).  This one sent with gnus and fingers crossed.

All the best,
Tom

>From 9dc65f7e598dd171ebce9448cd39c4062f7cafff Mon Sep 17 00:00:00 2001
From: Tom Dye <tsd@tsdye.com>
Date: Sun, 8 May 2011 06:56:25 -1000
Subject: [PATCH] optional caption arguments in LaTeX export
2011-05-08 22:15:45 +02:00
Carsten Dominik 8d509bb494 Protect index string
* lisp/org-latex.el (org-export-latex-preprocess): Protect index string
2011-05-05 10:29:22 +02:00
Carsten Dominik cb6425e6a0 Process index entries
* lisp/org-latex.el (org-export-latex-preprocess): Pipe index entries
through org-export-latex-fontify-headline.
2011-05-05 10:23:32 +02:00
Carsten Dominik cd04462438 Remove unnecessary local variable 2011-05-05 00:35:08 +02:00
Robert P. Goldman bf7ce56a72 Make the latex export preprocessor rewrite #+INDEX to \index.
* lisp/org-latex.el (org-export-latex-preprocess): Replace index entries.
2011-05-04 09:57:50 +02:00
Nicolas Goaziou 5efc6f5fc4 org-latex: fix footnotes wrt lists and links
* lisp/org-latex.el: pay attention to end of footnote. Before closing
  the command, ensure that list is properly closed or that last link
  is separated from the curly brace.
2011-04-09 11:57:12 +02:00
Lawrence Mitchell 44bb6ef974 org-latex: Fix export of table.el tables with captions
* lisp/org-latex.el (org-export-latex-convert-table.el-table): Fix
format-string for insertion of captions.

This fixes a bug introduced in caa5da1 since when the caption itself
is not placed inside the caption command.
2011-04-08 12:16:27 +02:00
Lawrence Mitchell 0e8f873c88 Prefer matching line beginnings in org-export-latex-special-chars
* lisp/org-latex.el (org-export-latex-special-chars): Fix regexp for
`single' special characters and ellipsis.

Repeated special characters are exported differently depending on
their position in the buffer.  A "&&" string at the start of a line is
exported as "&\&" whereas in the middle of a line you get "\&\&".  The
former is incorrect.  Fix this by matching the beginning of a line
before a character.  While we're at it, amalgamate the regexps for the

different special characters.
2011-04-06 10:34:14 +02:00
Carsten Dominik 57c379bb26 Clean up the new options to remove tasks on export 2011-03-30 05:27:43 +02:00
Carsten Dominik b4e2ef4cb9 Allow to exclude tasks from being exported
* doc/org.texi (Selective export): Document exclusion of any tasks from
export.
* lisp/org-exp.el (org-export-with-tasks): New option.
(org-export-plist-vars): Add :tasks property.
2011-03-30 00:48:29 +02:00
Carsten Dominik 6d40eb3809 Implement export without DONE tasks
* doc/org.texi (Selective export): Document how to exclude DONE tasks
from export.
(Publishing options): Document the properties to be used to turn off
export of DONE tasks.
* lisp/org-ascii.el (org-export-as-ascii):
* lisp/org-docbook.el (org-export-as-docbook):
* lisp/org-html.el (org-export-as-html):
* lisp/org-latex.el (org-export-as-latex): Pass the :done-tasks property
to the export preprocessor.
* lisp/org-exp.el (org-export-with-done-tasks): New option.
(org-export-plist-vars): Add entry for :done-tasks.
(org-export-preprocess-string): Call `org-export-remove-done-tasks'.
(org-export-remove-done-tasks): New function.
2011-03-29 17:29:24 +02:00
Carsten Dominik 35a2ef3400 Fix LaTeX export of tags containing the character `#'
* lisp/org-latex.el (org-export-latex-keywords-maybe): Protect # in tags.

The `#' is a special LaTeX character and needs to be protected.
2011-03-27 09:04:09 +02:00
Julien Danjou 1c0d592463 org-latex: change default date format
* lisp/org-latex.el (org-export-latex-date-format): Change default date
format to \today. This has the same result but respects the language set in
the document by default.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-23 18:26:32 +01:00
Lawrence Mitchell c109334152 Protect starred commands in LaTeX export correctly
* lisp/org-latex.el (org-export-latex-preprocess): Correctly
match starred command names.

Many LaTeX commands exist in both normal and starred forms.  Adjust
the regexp in `org-export-latex-preprocess' to match the starred form
as well.
2011-03-23 15:05:43 +01:00
Lawrence Mitchell 087d94b488 Allow mixed export of numbered and unnumbered sections in LaTeX
* lisp/org-latex.el (org-export-latex-subcontent): Deal specially with
the case that NUM is an integer.

We would sometimes like to have numbered \sections in LaTeX export but
unnumbered \subsections and so forth.  That is, use the starred
equivalents for all sectioning commands below a certain level.
Previously, the num: option specification could only specify whether
sections should be numbered or unnumbered at all levels.  We now treat
an integer value specially, if num:N is supplied then the highest N
levels are numbered, and lower levels are exported without numbering.
2011-03-23 15:04:27 +01:00
Nicolas Goaziou c01c2ad035 org-latex: fix lists in footnotes.
* lisp/org-latex.el (org-export-latex-preprocess): last brace
  shouldn't be on the same line as a list end marker.
2011-03-18 16:12:27 +01:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00:00
Bastien Guerry c682c9bd50 Minor comments rearrangment. 2011-03-04 20:20:12 +01:00
Lawrence Mitchell d98fc9d57b * org-latex.el: place \title \author \date before \begin{document}.
* org-latex.el (org-export-latex-make-header): place
\title \author \date before \begin{document}.
2011-03-04 20:19:21 +01:00
Bastien Guerry 87b73ad271 Convert underscore in email addresses. 2011-03-01 18:35:47 +01:00
Carsten Dominik aaf0e2d6bb Get rid of some compiler warnings
* Makefile (lisp/org-special-blocks.elc): Add dependency on org-compat.el
* lisp/ob-ref.el (org-at-item-p): Declare function.
* lisp/org-agenda.el (diary-time-regexp): defvar.
* lisp/org-archive.el (org-archive-subtree): Bind local variable `infile-p'.
* lisp/org-capture.el (org-capture-insert-template-here): Get template
text from property list, to avoid byte compiler message.
* lisp/org-latex.el (org-export-latex-tables): Bind local variable `width'.
* lisp/org-special-blocks.el (org-compat): Add require statement.
* lisp/org-table.el (orgtbl-ctrl-c-ctrl-c): Bind local variable `const-str'.
* lisp/org.el (org-eval): Moved function here from org-agenda.el.
2011-03-01 07:24:14 +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
Nicolas Goaziou 1f78cebdf4 org-latex: fix export with various values for `org-list-ending-method'
* lisp/org-latex.el (org-export-latex-lists): make sure markers used
  for export are taken into account by temporarily setting an
  appropriate value for `org-list-ending-method'.
2011-02-28 11:04:46 +01:00
Bastien Guerry 0c7d8e615a org-latex.el (org-export-latex-make-header): latexify \thanks string. 2011-02-26 17:31:07 +01:00
Nicolas Goaziou 212828c556 org-list: correctly handle counters in `org-list-parse-list'
* lisp/org-list.el (org-at-item-counter-p): new function.
(org-list-parse-list): handle counters and list depth.
(org-list-to-generic): a special string is used when an item has a
counter.
(org-list-to-latex): use new special string for counters. This fixes
the counter bug in LaTeX export, as the enumi counter was the only one
modified.
* lisp/org-latex.el (org-export-latex-lists): use new
`org-list-parse-list' output.
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 eeea385b0b org-latex: during export process, only unprotected items are valid
* lisp/org-latex.el (org-export-latex-lists): Search for unprotected
  items only, and redefine `org-at-item'. This change is required when
  verbatim lists are inserted during export, usually by Babel.
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
Bastien Guerry e16c502b4a org-latex.el: fix bug about #+BIND directive not followed.
* org-latex.el (org-export-latex-content): bind local variables
for export in the temporary export buffer.

Thanks to Andreas Leha for reporting this.
2011-02-18 11:25:11 +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 a9da06b1db org-latex.el: minor docstring clean up. 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