This patch covers the three main backends, html, latex, and ascii. It
adds the code to make sure the coderef links identified by the
preprocessing will be implemented correctly when a backend does its work.
1. When LaTeX export was done with a time-stamped file, a format
error in the timestamp format caused the output file to not
have the % comment in front of the time string. As this line
is early in the file, a LaTeX error would result.
2. Replacement of some special characters could fail. Strangely
this shows up only in XEmacs, but it still is a bug.
Both bugs were reported by Hugh Daschbach.
Text inside tables did not receive the full treatment of handling sub-
and superscripts, and of special character quoting like %, &, and {}.
This patch does fix this, but I am worried that I am overlooking the
true reason why Bastien did switch off these conversions. We'll see
if and what this will break.
Exporting tables to LaTeX suffered from the problem that Org tables
are often long, but that the tabular environment in LaTeX cannot
handle long tables. This patch fixes this issue.
LaTeX export can now deal with very long tables, by setting an option
in the "ATTR_LaTeX:" line. Also, you can specify the alignment by
hand. Here is an example:
Also, table export now correctly deals with tables that start with a
hline. In such a case, also the LaTeX version will have this extra
hline before the first line.
Tables, and Hyperlinks that represent inlined images, can now be
equipped with additional information that will be used during
export. The information will be taken from the following special
lines in the buffer and apply to the first following table or
link.
- #+CAPTION: :: The caption of the image or table. This string
should be processed according to the export backend, but
this is not yet done.
- #+LABEL: :: A label to identify the figure/table for cross
references. For HTML export, this string will become the
ID for the `<div class="figure">' element that encapsulates
the image tag and the caption. For LaTeX export, this
string will be used as the argument of a `\label{...}'
macro. These lables will be available for internal links
like `[[label][Table] ]'.
- #+ATTR_HTML: :: Attributes for HTML export of image, to be
added as attributes into the `<img...>' tag. This string
will not be processed, so it should have immediately the
right format.
- #+ATTR_LaTeX: :: Attributes for LaTeX export of images, to
be inserted into the optional argument of the
`\includegraphics[...]{file}' command, to specify scaling,
clipping and other options. This string will not be
processed, so it should have immediately the right
format, like `width=5cm,angle=90'
For LaTeX export, if either a caption or a label is given, the
element will be exported as a float, i.e. wrapped into a figure
or table environment.
This patch improves the internal handling of the large number of
export options that Org-mode has. In particular, it now defines a
single constant, `org-export-plist-vars' that contains the full list
of options, and how these can be accessed through variables, and
through the #+OPTIONS line. Before the patch, there used to be a
separate list or the OPTIONS handling, which has gotten out of sync.
This now no longer can happen.
Also, this patch adds two new variables, `org-export-with-priority',
and `org-export-with-todo-keywords', which can be used to turn the
export of TODO keywords and priority cookies on and off, so that these
can simply disappear and not be shown in the exported file. In fact,
the default for the priority cookie is to remove it.
Org allows to define invisible anchors in a document in comment lines
like
If such a line is directly before or after a headline, previously this
anchor was removed, and all references to it were replaced with
references to the anchor that the headline had anyway.
Matthew Lundin pointed out that this makes it impossible to have
permanent links to headlines that can also be used from outside the
current page.
This patch changes his situation by adding the additional targets as
empty anchors to the section heading. If works by creating, during
preprocessing, an alist with targets that do have aliases. During
publishing, these aliases are looked up and converted into anchors.
In LaTeX export, these additional targets become additional labels.