Commit Graph

233 Commits

Author SHA1 Message Date
Nicolas Goaziou abe9550309 Forbid footnotes in some contexts
* lisp/org.el (org-in-block-p): new function.
* lisp/org-footnote.el (org-footnote-forbidden-blocks): new variable.
(org-footnote-in-valid-context-p): new function.
(org-footnote-at-reference-p): use new function. Allow inline
footnotes to start at bol.
2011-07-08 18:08:34 +02:00
Bastien Guerry 8567831ff8 org-footnote.el: silent compiler warning.
Declare  `org-bracket-link-regexp'.

Thanks to Achim Gratz for catching this.
2011-07-06 22:58:40 +02:00
Bastien Guerry 9c05a7c781 Bump to version 7.6 2011-07-06 21:06:03 +02:00
Nicolas Goaziou de0fcdffa4 org-footnote: distinguish footnotes from links
* lisp/org-footnote.el (org-footnote-at-reference-p): verify that what
  looks like a footnote doesn't belong to a link.
(org-footnote-next-reference-or-definition): check more strictly
footnote definitions.
2011-07-05 14:01:44 +02:00
Bastien Guerry 71eff05694 org-footnote.el: fix a few compiler warnings.
Thanks to Achim Gratz for catching them.
2011-07-03 21:32:41 +02:00
Nicolas Goaziou bab6c5bf5a org-footnote: find correct reference when two footnotes are side-by-side
* lisp/org-footnote.el (org-footnote-at-reference-p): first check if
  point is at the beginning of a footnote. Indeed `org-in-regexp'
  first checks backwards and might find an incorrect footnote if they
  are side-by-side.
2011-06-30 19:14:18 +02:00
Eric Schulte f06e712834 org-footnote: declare function for the compiler
* lisp/org-footnote.el (org-fill-paragraph): Declare function for the
  compiler.
2011-06-29 16:33:39 -07:00
Nicolas Goaziou 560804b4d8 org-footnote: better action on footnotes with no definition associated
* lisp/org-footnote.el (org-footnote-action): offer to create
  definition when none is found.
2011-06-29 15:26:22 +02:00
Nicolas Goaziou 66537c520c org-footnote: strenghten footnotes regexp
* lisp/org-footnote.el (org-footnote-re): avoid matching inactive
  time-stamps or check-box cookies.
(org-footnote-next-reference-or-definition): adapt to the new regexp.
2011-06-29 12:00:43 +02:00
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 06a4c2c8d0 org-footnote: better normalization during export
* lisp/org-footnote.el (org-footnote-normalize): remember footnotes
  seen so far by the exporter when choosing the new marker.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 28bfc26024 org-footnote: update changes for odt exporter
* lisp/org-footnote.el (org-footnote-normalize): make use of
  `org-footnote-insert-pos-for-preprocessor'.
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 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
Nicolas Goaziou 9c31654077 org-footnote: remove unnecessary checks in footnotes regexps
* lisp/org-footnote.el (org-footnote-goto-definition): now,
  determining if point is at a footnote reference is entirely
  determined by `org-footnote-at-reference-p'. No need to check if
  pattern isn't at beginning of the line elsewhere.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou c9d01b3bbd org-footnote: refactor code 2011-06-29 12:00:42 +02:00
Nicolas Goaziou 1eac25a438 Adjust fontification of footnotes
* lisp/org-footnote.el (org-footnote-next-reference-or-definition):
  new function.
* lisp/org.el (org-activate-footnote-links): activate the whole
  footnote, but only fontify its label.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou 460d093da8 org-footnote: rewrite normalize function
* lisp/org-footnote.el (org-footnote-normalize): make use of changes
  to `org-footnote-at-reference-p' and creation of various functions..
  Also comment code.
  (org-footnote-get-next-reference, org-footnote-delete-references,
  org-footnote-delete-definitions): new functions
  (org-footnote-goto-previous-reference, org-footnote-all-labels,
  org-insert-footnote-reference-near-definition, org-footnote-delete):
  rewrite to use org-footnote-get-next-reference.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou 62fe76b5dc org-footnote: parse footnotes references with more accuracy
* lisp/org-footnote.el (org-footnote-re): don't end an inline footnote
  at unrelated closing square brackets.
  (org-footnote-at-reference-p): improve accuracy of the function to
  determine if point is at a reference and to extract definition of an
  inline footnote.
  (org-footnote-all-labels, org-footnote-action, org-footnote-delete,
  org-footnote-auto-adjust-maybe): make use of previous function.
2011-06-29 12:00:42 +02:00
Jambunathan K fd2e471a6f Control insertion point for footnote definitions during pre-process
PATCH-5/5 org-odt compatibility patch

From 22c4feee78ff9a1ab7cc48275ec29d322a3472a1 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 13:17:18 +0530
Subject: [PATCH 5/5] Control insertion point for footnote definitions during pre-process.

* lisp/org-footnote.el
(org-footnote-insert-pos-for-preprocessor): New variable.
(org-footnote-normalize): Use it.
2011-06-23 23:10:45 +02:00
David Maus da93c5d3f1 Declare function, silence byte compiler
* org-footnote.el (org-id-uuid): Declare function, silence byte
  compiler.
2011-06-01 08:30:52 +02:00
Puneeth Chaganti 078c01bf3b Tiny docstring fix in org-footnote.el
Hi,

A tiny docstring fix in org-footnote.el
2011-03-22 10:48:24 +01:00
Matt Lundin 743bb4e14f New option to create unique, random labels for footnotes.
* lisp/org-footnote.el: (org-footnote-auto-label): New random option
* lisp/org-footnote.el: (org-footnote-new): Create random footnote
  labels with unique ids
2011-03-17 09:25:10 +01:00
Matt Lundin 2444744985 Prevent creation of duplicate footnote sections.
* lisp/org-footnote.el: (org-footnote-create-definition): Allow for
  footnote sections above the current footnote insertion point.

Fixes bug in which org-mode will create a new footnote section if the
current footnote section is not beneath the current insertion point.
2011-03-17 09:24:30 +01:00
Matt Lundin 51244d5344 Goto correct footnote insertion point in org-mode buffers
* lisp/org-footnote.el: (org-footnote-create-definition): Don't search
  for last footnote when in org-mode file.

The recent changes to accommodate signatures in message-mode instruct
org-mode to search for the last footnote in the entire buffer when
inserting a new footnote definition. This causes problems in org
buffers, since org-footnote-goto-local-insertion-point already finds
the correct insertion point. (I.e., the insertion point is always
placed in beneath the last footnote in the buffer, even if
org-footnote-section is nil.) This patch invokes the search only if in
non org-mode buffers.
2011-03-17 09:24:02 +01:00
Matt Lundin f920974f43 org-footnote.el: Fix sorting of footnotes.
* org-footnote.el (org-footnote-create-definition)
(org-insert-footnote-reference-near-definition): Fix sorting
of footnotes.
2011-03-09 11:42:56 +01:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00: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
Tassilo Horn 21d4acf035 Place Footnotes section before signature in all message-mode derived modes.
* org-footnote.el (org-footnote-create-definition): Place Footnotes
  section before message-signature-separator also in modes derived
  from message-mode.
2010-12-10 07:34:27 +01:00
Bastien Guerry 6630edbd0f Set version number to 7.3 2010-11-07 14:52:14 +01:00
Carsten Dominik 82af72eef7 Push version number to 7.02trans 2010-10-29 09:11:46 +02:00
David Maus 671115426a Defvar to silence byte compiler
* org-footnote.el (message-signature-separator): Defvar to silence
byte compiler.
2010-10-24 20:43:44 +02:00
Tassilo Horn 145109dc4a Make footnotes work correctly in message-mode
* lisp/org-footnote.el (org-footnote-create-definition)
(org-footnote-goto-local-insertion-point): Add footnotes before
signature when in message-mode.
2010-10-24 18:19:57 +02:00
Noorul Islam 6e73bcbf44 Minor docstring bug: org-footnote-goto-previous-reference 2010-10-24 18:15:08 +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
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 0d4883f7de Fix typos and add customization group for footnotes
Patch by Michael Fornius
2010-04-27 08:11:16 +02:00
Carsten Dominik 43bf1bbbd7 Push version number to 6.35trans 2010-04-15 12:24:55 +02:00
Carsten Dominik a74a748d0f Search backward from a footnote definition to find reference.
With multiple definitions of a footnote with the same label in a
buffer, this has a higher chance to find the right one.

Request by Samuel Wales
2010-04-14 16:45:45 +02: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 dcc445a027 Fix typo in docstring 2010-04-07 08:40:55 +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 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 c077142241 Release 6.34a 2010-01-12 08:53:44 +01: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 177d69cd2c Keep byte compiler happy 2009-12-11 08:49:44 +01:00
Carsten Dominik c0d77694d2 LaTeX export. Fix footnote bug. 2009-11-29 01:22:19 +01:00
Carsten Dominik 88cf58802c Fix footnote problem with optional arguments to citation commands
Scot Beker writes:

> I cite my references in org like
> this.\autocite[231]{bibtexkey_2009}, where '231' is the
> relevant page number.  When exporting to LaTeX, Org thinks
> that the value in square brackets is a footnote number and
> produces a document with a "footnote definition not found:
> 231" error message at the bottom of the document.  My
> settings are below, and I've searched pretty hard through
> them to look for anything that might have caused it.  Any
> ideas?
2009-11-26 12:44:05 +01:00
Carsten Dominik 62a7301a5e Push release number to 6.33trans 2009-11-20 20:20:31 +01:00
Carsten Dominik 24061fddd1 Release 6.33f 2009-11-20 15:15:05 +01:00
Carsten Dominik 37e9b1c51f Release 6.33e 2009-11-20 13:58:31 +01:00
Carsten Dominik 24a49967f1 Release 6.33d 2009-11-20 12:34:50 +01:00
Carsten Dominik c7371cc7fe Push version number to 6.33trans 2009-11-15 09:46:43 +01:00
Carsten Dominik 6bc6379dfe Release 6.33c 2009-11-15 08:00:52 +01:00
Carsten Dominik 6c977c41c3 Release 6.33b 2009-11-14 16:25:31 +01:00
Carsten Dominik b8a6721a68 Release 6.33a 2009-11-13 23:22:18 +01:00
Carsten Dominik 5ca6635993 Push version number to 6.33a 2009-11-13 22:54:22 +01:00
Carsten Dominik 82ee0cc583 Release 6.33 2009-11-13 07:10:51 +01:00
Bernt Hansen 0042080e4c Fix spelling and grammar 2009-11-12 07:39:29 -05:00
Carsten Dominik 721bf5c3d3 Keep compiler happy 2009-10-29 16:34:33 +01:00
Carsten Dominik 7507bdd922 Allow footnote markers like [1] to occur in verbatim emphasis 2009-10-29 09:05:34 +01:00
Carsten Dominik 58562167b4 Version number to 6.32trans 2009-10-27 18:23:19 +01:00
Carsten Dominik e0949896f7 Release 6.32b 2009-10-27 18:22:28 +01:00
Carsten Dominik 037b685d50 Push version number to 6.32trans 2009-10-27 09:25:30 +01:00
Carsten Dominik fcd2ef541f Release 6.32 2009-10-26 08:57:21 +01:00
Carsten Dominik 6b0a251eea Push version number to 6.31trans 2009-10-01 11:57:17 +02:00
Carsten Dominik 1b37d5e07c Release 6.31a 2009-10-01 09:13:58 +02:00
Carsten Dominik c11e0b44ae Release 6.31 2009-09-30 16:03:17 +02:00
Carsten Dominik 452b8e0554 Reveal context to add footnote definition
Matt Lundin writes:

> I have org-footnote-section set to "Footnotes." If I insert a new
> footnote while...
>
> 1. the "* Footnotes" tree already exists and
>
> 2. the "* Footnotes" tree is folded
>
> ...the footnote definition label is inserted, but the "* Footnotes"
> subtree remains folded and the cursor jumps to the "* Footnotes"
> headline rather than the definition line.
>
> I've tried using org-reveal (C-c C-r) to open the "Footnotes" section,
> but nothing happens. I've tried typing C-c C-c to go back to the
> footnote, but since the cursor is on a headline, the result is a tag
> prompt. When I hit TAB to cycle, the cursor remains on the headline.
2009-09-28 19:38:09 +01:00
Carsten Dominik 291a6db848 Release number back to 6.30trans 2009-09-04 10:39:01 +02:00
Carsten Dominik 12ab55ca43 Release 6.30d 2009-09-03 13:53:46 +02:00
Carsten Dominik adfa87282d Push version number to 6.30trans 2009-09-03 08:10:36 +02:00
Carsten Dominik 63e1714288 Release 6.30c 2009-09-02 14:40:56 +02:00
Carsten Dominik fc332703bf Release 6.30b 2009-09-02 11:33:10 +02:00
Carsten Dominik 1d04b205e6 Release 6.30a 2009-09-02 09:00:23 +02:00
Carsten Dominik db70cdb13b Release 6.30 2009-09-01 06:09:23 +02:00
Carsten Dominik 99f507daf5 Keep byte compiler happy 2009-08-27 15:18:25 +02:00
Carsten Dominik a48fe32c4c LaTeX export: Avoid footnote processing in LATEX_HEADER lines
Nick Dokos writes:

> I define a LaTeX macro at the top of my document, like so:
>
> ,----
> | ...
> | #+LATEX_HEADER: \newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}%
> | #+LATEX_HEADER:   #1\ignorespaces
> | #+LATEX_HEADER: }
> | ...
> `----
>
> and export - I get the following inserted:
>
> ,----
> | ...
> | \begin{document}
> |
> |
> |
> |
> |
> | \$\^{}{1}\$ FOOTNOTE DEFINITION NOT FOUND: 1
> | ...
> `----
>
> Obviously, the macro argument spec is mistaken for a footnote.
2009-08-21 06:44:29 +01:00
Carsten Dominik bfdd3d3fd3 Push version number to 6.29trans 2009-08-06 12:07:20 +02:00
Carsten Dominik 0864163024 Release 6.29c 2009-08-06 06:26:23 +02:00
Carsten Dominik d6b37ddbea Release 6.29b 2009-08-05 12:34:30 +02:00
Carsten Dominik 1c25048e48 Release 6.29a 2009-08-04 23:54:22 +02:00
Carsten Dominik d67a9be8a2 Release 6.29 2009-08-04 23:06:39 +02:00
Carsten Dominik 2eecb4c43c Fix white-space errors 2009-08-03 17:30:30 +02:00
Carsten Dominik 8530298b45 Inline tasks: Play along with archiving, refiling, and footnotes, store link. 2009-07-19 09:47:13 +02:00
Carsten Dominik 0795e42daf Footnotes: Allow automatic sorting and renumbering
Customize the new variable org-footnote-auto-adjust or use the STARTUP
option fnadjust to get automatic renumbering and sorting of footnotes
after each insertion/deletion.
2009-07-03 17:56:47 +02:00
Carsten Dominik 840c74162c Footnotes: Introduce S action as a shortcut for r and s 2009-07-01 12:03:39 +02:00