Commit Graph

197 Commits

Author SHA1 Message Date
Carsten Dominik 3559b2dc93 Footnotes: Activate labels as links
This commit add a new face for footnote labels, and activates footnote
labels for mouse clicks and for `C-c C-o', to jump to the
corresponding reference or definition.
2009-01-02 16:28:35 +01:00
Carsten Dominik 317990dd8a Footnotes: Automatic label creation.
This patch implements fully automatic creation of unique labels for
footnotes, which is also turned on as the default setting.  The
automatic labels look like [fn:1], [fn:2], etc, using the first
available unused number.

The commit introduces a new variable, `org-footnote-auto-label' with a
number of different options ranging from no auto creation (prompting
the user for a label) to fully automatic creation.

Also, the commit introduces new #+STARTUP options that can be used to
select these settings on a per-file basis.
2009-01-02 15:54:34 +01:00
Carsten Dominik b956d4077b Footnotes: Allow notes to be placed into the current entry.
Setting org-footnote-section to nil now causes definitions to be
inserted at the end of the current outline node, instead of into a
special node names "Footnotes".
2009-01-01 18:01:07 +01:00
Carsten Dominik df07e0a4f3 Export: New hooks for preprocessing
This patch introduces more hooks for preprocessing the export buffer,
at various strategic moments.  See the Changes.org file for a
description of the hooks.
2008-12-31 18:37:33 +01:00
Carsten Dominik ffd89f5752 Documentation: More credits. 2008-12-31 18:22:46 +01:00
Carsten Dominik cd92610d1a Footnotes: Credits 2008-12-31 09:25:07 +01:00
Carsten Dominik da7e417d0b Footnotes: Documentation
Add a new section about footnotes to the TeXInfo documentation, and
copy it also to the Changes.org file.
2008-12-31 00:49:05 +01:00
Carsten Dominik 03c538b5e3 Coderefs: Credits.
This patch gives credits to the people who help designing and
implementing this feature set.
2008-12-26 23:49:57 +01:00
Carsten Dominik 27bcab1371 Coderefs: Documentation in the manual
This patch adds documentation about code references and line numbering
to the manual, and also adds an example to Changes.org.
2008-12-26 23:23:39 +01:00
Carsten Dominik 2deee3e6e4 Column view: Capture also from locations in other files.
The dynamic block capturing column view has an :id parameter that does
select from where the column view should be captured.  The routine
searching for this entry so far only searched the current file, now it
uses the full ID API to find the entry also in another file.

Furthermore, a value "file:path/to/file.org" will capture the global
column view of that file.

Report by Francois Lagarde.
2008-12-22 08:56:42 +01:00
Carsten Dominik d89284b240 Release 6.16 2008-12-20 11:16:01 +01:00
Carsten Dominik 8ff0c60894 Release 6.15f 2008-12-18 23:38:53 +01:00
Carsten Dominik 0805d7ec9f Reverse the introduction of @0 as a reference to the last row. 2008-12-18 23:05:21 +01:00
Carsten Dominik 42d2f5794f Update the list of changes. 2008-12-16 08:30:09 +01:00
Carsten Dominik 0ea9fb46c5 Implement longtable support for LaTeX export.
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.
2008-12-16 07:04:05 +01:00
Carsten Dominik 038219f932 Documentation updates. 2008-12-12 15:04:00 +01:00
Carsten Dominik ac83bc01d7 Better implementation of unique entry IDs.
Unique identifiers for entries can now be used more efficiently.
Internally, a hash array has replaced the alist used so far to
keep track of the files in which an ID is defined.  This makes it
quite fast to find an entry by ID.

There is now a new link type which looks like this:

id:GLOBALLY-UNIQUE-IDENTIFIER

This link points to a specific entry.  When you move the entry to
a different file, for example if you move it to an archive
file, this link will continue to work.

The file /org-id.el/ contains an API that can be used to write
code using these identifiers, including creating IDs and finding
them wherever they are.

Org has its own method to create unique identifiers, but if the
system has /uuidgen/ command installed (Mac's and Linux systems
generally do), it will be used by default.  You an also select
the method by hand, using the variable =org-id-method=.

If the ID system ever gets confused about where a certain ID is,
it initiates a global scan of all agenda files with associated
archives, all files previously known containing any IDs, and all
currently visited Org-mode files to rebuild the hash.  You can
also initiate this by hand: =M-x org-id-update-id-locations=.
Running this command will also dump into the =*Messages*= buffer
information about any duplicate IDs.  These should not exist, but
if you /copy/ an entry with its properties, duplicate IDs will
inevitably be produced.  This is unavoidable in a plain text
system that allows you to edit the text in arbitrary ways, and a
portion of care on your side is needed to keep this system clean.

The hash is stored in the file =~/.emacs.d/.org-id-locations=.
This is also a change from previous versions where the file was
=~/.org=id-locations=.  Therefore, you can remove this old file
if you have it.  I am not sure what will happen if the =.emacs.d=
directory does not exists in your setup, but in modern Emacsen, I
believe it should exist.  If you do not want to use IDs across
files, you can avoid the overhead with tracking IDs by
customizing the variable =org-id-track-globally=.  IDs can then
still be used for links inside a single file.

IDs will also be used when you create a new link to an Org-mode
buffer.  If you use =org-store-link= (normally at =C-c l=) inside
en entry in an Org-mode buffer, and ID property will be created
if it does not exist, and the stored link will be an =id:= link.
If you prefer the much less secure linking to headline text, you
can configure the variable =org-link-to-org-use-id=.  The default
setting for this variable is =create-if-interactive=, meaning
that an ID will be created when you store a link interactively,
but not if you happen to be in an Org-mode file while you create
a remember note (which usually has a link to the place where you
were when starting remember).
2008-12-10 23:32:37 +01:00
Carsten Dominik 27e0d70267 Document an incompatible change in the previous push.
The old syntax for setting HTML link attributes is no longer
supported.  Existing links will not fail, but the attributes specified
in the old way will be ignored.
2008-12-10 13:49:19 +01:00
Carsten Dominik 45102b68ce Captions and attributes for images and tables during export
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.
2008-12-10 12:50:07 +01:00
Carsten Dominik 7b6ad9054e Release 6.14. 2008-12-06 07:34:30 +01:00
Carsten Dominik 575dcb3d3b Make table formulas error when a relative row reference tries to cross hline.
Tassilo Horn asked for this, because he finds the default behavior of
silently choosing a different row too confusing.  I actually do agree.

The main use of this feature was running averages, if you need this
feature, you can customize the variable
`org-table-error-on-row-ref-crossing-hline'.
2008-12-05 13:14:24 +01:00
Carsten Dominik d996cbb312 Customizable faces for individual tags.
Samuel Wales writes:

> It would be really nice if you could set tags to different
> faces the way you can with todo keywords.
>
> For example, you could set :urgent: to a bright color.  Or
> set a face for all contexts.

This patch add a new customization variable `org-tag-faces' that can
be used to specify such faces.  The rest of the patch implements these
new faces in Org-mode buffers as well as in the agenda.
2008-12-04 14:24:21 +01:00
Carsten Dominik b266f5a90c Make LOCATION property inheritable for iCalendar export.
Harri Kiiskinen suggested that it might be useful to make the LOCATION
property an inherited property during iCalendar export.  In this way
you can have set the LOCATION for a whole set of items by setting it
only in the parent.

While this will slow down iCalendar export for large files, I think it
can be quite useful.  This patch does implement the basic code needed
for this functionality.  However, you still need to tell Org that
LOCATION should be inherited, by setting org-use-property-inheritance.
If you set it to t, beware that this may trigger a significant
slowdown when creating the match view in the agenda.  So it may be
better to set this variable to

(setq org-use-property-inheritance '("LOCATION"))

instead.
2008-12-03 08:28:26 +01:00
Carsten Dominik aa07f68c12 Better handling of export options.
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.
2008-12-03 07:33:05 +01:00
Carsten Dominik 269c5a85bc New ways to specify time comparison values in property searches.
In addition to "<now>", "<today>", "<yesterday>", and
"<tomorrow>", there are more special values accepted now in
time comparisons in property searches:  You may use strings
like =<+3d>= or =<-2w>=, with units d, w, m, and y for day,
week, month, and year, respectively

Thanks to Linday Todd for this proposal.
2008-11-29 19:12:03 +01:00
Carsten Dominik 733dfca36b Allow to exclude specific tags from inheritance.
So far, the only way to select tags for inheritance was to
allow it for all tags, or to do a positive selection using
one of the more complex settings for
`org-use-tag-inheritance'.  It may actually be better to
allow inheritance for all but a few tags, which was difficult
to achieve with this methodology.

This patch introduces a new option,
`org-tags-exclude-from-inheritance' which allows to specify an
exclusion list for inherited tags.
2008-11-27 13:15:29 +01:00
Carsten Dominik f6b9e77ded Show inherited tags in the agenda.
This patch does a lot of things.  First, it makes sure that the tags
transferred to the agenda as text properties on each line are do carry
information about there origin (in the form of an `inherited' text
property).  Then it modifies the function creating agenda lines so
that inherited tags will be listed and identified as such in the
agenda.

This new feature can be turned off with a new variable,
`org-agenda-show-inherited-tags'.
2008-11-27 09:25:50 +01:00
Carsten Dominik a196eaa15c New file org-w3m.el, by Andy Stewart.
This file implements a special function to copy text from a w3m buffer
in a way that when the text is yanked back into an Org-mode buffer,
the links will be translated to Org syntax.
2008-11-26 15:45:50 +01:00
Carsten Dominik 7e3aa26628 Finalize the relative-timer setup.
This cleans up the implementation of the timer.  Most important change
is that, after starting a time list with `C-c C-x -', you can then
simply use M-RET to add new items, which is addictive!
2008-11-25 20:20:52 +01:00
Carsten Dominik 4b2d3c6feb Implement timer for timed notes.
This patch implements a relative time for taking timed notes, useful
for example while watching a video, or during a meeting which is also
recorded.  Here are the new commands:

    - `C-c C-x .' ::
      Insert a relative time into the buffer.  The first time
      you use this, the timer will be started.  When called
      with a prefix argument, the timer is reset to 0.

    - `C-c C-x -' ::
      Insert a description list item with the current relative
      time.  With a prefix argument, first reset the timer to 0.

    - `C-c C-x 0' ::
      Reset the timer without inserting anything into the buffer.
      By default, the timer is reset to 0.  When called with a
      `C-u' prefix, reset the timer to specific starting
      offset.  The user is prompted for the offset, with a
      default taken from a timer string at point, if any, So this
      can be used to restart taking notes after a break in the
      process.  When called with a double prefix argument
      `C-c C-u', change all timer strings in the active
      region by a certain amount.  This can be used to fix timer
      strings if the timer was not started at exactly the right
      moment.
2008-11-25 12:07:23 +01:00
Carsten Dominik 663960af62 Improve removal of temporary buffers during publishing.
Report by Richard Riley.
2008-11-24 18:27:14 +01:00
Carsten Dominik ed2311923a More typos, dammit. 2008-11-23 08:27:31 +01:00
Carsten Dominik daa89d21fd Fix typo. 2008-11-23 08:14:18 +01:00
Carsten Dominik db5c609be9 6.13pre04 2008-11-21 13:35:45 +01:00
Carsten Dominik 81e3b95843 6.13pre02. 2008-11-20 15:02:53 +01:00
Carsten Dominik cf0569774b Update list of user-visible changes. 2008-11-19 17:33:49 +01:00
Carsten Dominik 3e539eb8fb Split the Changes file into two.
It is really not necessary that each access to Changes.html downloads
this big file.
2008-11-19 13:59:54 +01:00
Carsten Dominik 2133adf81b Update the list of user-visible changes. 2008-11-19 12:24:58 +01:00
Carsten Dominik ed81800ccf Release 6.12 2008-11-11 11:03:17 +01:00
Carsten Dominik 1a9215fc80 Document changes in Changes.org
The new features are now listed with short descriptions.
2008-11-11 09:25:54 +01:00
Carsten Dominik fb92308d22 Allow to only display logging information in the agenda.
Jurgen Defume asked for a way to display only logging information in
the agenda.  This patch implements such a possibility.  It works by
calling `org-agenda-log-mode' (bound to `l' in the agenda) with a
double prefix arg.  This sets the variable `org-agenda-show-log' to a
special value `only' which is then interpreted by the agenda-creating
functions.
2008-11-09 08:17:33 +01:00
Carsten Dominik d60d97970a Fix some typos. 2008-11-08 17:07:37 +01:00
Carsten Dominik e42c781d2b Finalize the list of user visible changes for 6.11 2008-11-08 16:56:07 +01:00
Carsten Dominik c708279809 Release 6.11 2008-11-08 16:43:48 +01:00
Bernt Hansen 387c1e7037 Fix typos on website Changes documentation
- Fix minor grammar issues
- Fix typos
- Fix typo is variable name for example lisp code
2008-11-07 15:17:40 -05:00
Carsten Dominik 1104da306a Update the list of User-visible changes
This means that we are starting to move towards a release....
2008-11-05 23:29:09 +01:00
Carsten Dominik 07657f3e80 Yank adjusted trees.
When yanking a cut/copied subtree or a series of trees, even
the nomal yank key `C-y' does now adjust the level of the tree
to make it fit into the current outline position, without
loosing its identity, and without swallowing other subtrees.

This uses the command `org-past-subtree'.  An additional
change in that command has been implemented:  Normally, this
command picks the right outline level from the surrounding
*visible* headlines, and uses the smaller on.  So it the
cursor is between a level 4 and a level 3 headline, the tree
will be pasted as level 3.  Now, if the cursor is actually
*at* the beginning of a headline, the level of that headline
will be used.  So lets say you have a tree like this:

  * Level one
  ** Level two
  (1)
  (2)* Level one again

with (1) and (2) indicating possible cursor positions for the
insertion.  When at (1), the tree will be pasted as level 2.
When at (2), it will be pasted as level 1.

If you do not like `C-y' to behave like this, configure the
variable `org-yank-adjusted-subtrees'.

Thanks to Samuel Wales for this idea and a partial implementation.
2008-10-28 09:07:56 +01:00
Carsten Dominik 67070b0289 Initial documentation of the new clock features. 2008-10-28 07:36:33 +01:00
Carsten Dominik 8b25d171b2 remove leftover string in list of changes. 2008-10-23 09:34:46 +02:00
Carsten Dominik 742c689a36 Update list of changes in preparation of release. 2008-10-23 08:35:47 +02:00