File: footnote.el.html

This file provides footnote[1] support for message-mode in emacsen.

footnote-mode is implemented as a minor mode.

[1] Footnotes look something like this. Along with some decorative
stuff.

;; TODO:
+ Reasonable Undo support.
  - could use an apply entry in the buffer-undo-list to be warned when
    a footnote we inserted is removed via undo.
  - should try to handle the more general problem of deleting/removing
    footnotes via standard editing commands rather than via footnote
    commands.
+ more language styles.
+ The key sequence 'C-c ! a C-y C-c ! b' should auto-fill the
  footnote in adaptive fill mode. This does not seem to be a bug in
  adaptive-fill because it behaves that way on all point movements
+ Handle footnote mode elegantly in all modes, even if that means refusing to
  accept the burden. For example, in a programming language mode, footnotes
  should be commented.
+ Manually autofilling the first footnote should not cause it to
  wrap into the footnote section tag.
  + Current solution adds a second newline after the section tag, so it is
    clearly a separate paragraph. There may be stylistic objections to this.
+ Footnotes with multiple paragraphs should not have their first
  line out-dented.
+ Upon leaving footnote area, perform an auto-fill on an entire
  footnote (including multiple paragraphs), or on entire footnote area.
  + fill-paragraph takes arg REGION, but seemingly only when called
    interactively.
+ At some point, it became necessary to change footnote-section-tag-regexp
  to remove its trailing space. (Adaptive fill side-effect?)
+ useful for lazy testing (setq footnote-narrow-to-footnotes-when-editing t) (setq footnote-section-tag "Footnotes: ") (setq footnote-section-tag-regexp "Footnotes\\\\(\\\\[.\\\\]\\\\)?:")

Defined variables (34)

footnote--markers-alistList of (FN TEXT . POINTERS).
footnote-align-to-fn-textHow to left-align footnote text.
footnote-body-tag-spacingNumber of spaces separating a footnote body tag and its text.
footnote-end-tagString used to denote end of numbered footnote.
footnote-english-lowerLower case English alphabet.
footnote-english-lower-regexpRegexp of lower case English alphabet.
footnote-english-upperUpper case English alphabet.
footnote-english-upper-regexpRegexp for upper case English alphabet.
footnote-latin-regexpRegexp for Latin-1 footnoting characters.
footnote-latin-stringString of Latin-1 footnoting characters.
footnote-minor-mode-mapKeymap used for binding footnote minor mode.
footnote-modeNon-nil if Footnote mode is enabled.
footnote-mode-hookHook run after entering or leaving ‘footnote-mode’.
footnote-mode-line-stringString to display in modes section of the mode-line.
footnote-mouse-highlightText property name to enable mouse over highlight.
footnote-narrow-to-footnotes-when-editingIf non-nil, narrow to footnote text body while editing a footnote.
footnote-numeric-regexpRegexp for digits.
footnote-prefixPrefix key to use for Footnote commands in Footnote minor mode.
footnote-prompt-before-deletionIf non-nil, prompt before deleting a footnote.
footnote-roman-lower-listList of roman numerals with their values.
footnote-roman-lower-regexpRegexp of roman numerals.
footnote-roman-upper-listList of roman numerals with their values.
footnote-roman-upper-regexpRegexp of roman numerals. Not complete.
footnote-section-tagTag inserted at beginning of footnote section.
footnote-section-tag-regexpRegexp which indicates the start of a footnote section.
footnote-signature-separatorRegexp used by Footnote mode to recognize signatures.
footnote-spaced-footnotesIf non-nil, insert an empty line between footnotes.
footnote-start-tagString used to denote start of numbered footnote.
footnote-styleDefault style used for footnoting.
footnote-style-alistStyles of footnote tags available.
footnote-style-numberFootnote style represented as an index into ‘footnote-style-alist’.
footnote-unicode-regexpRegexp for Unicode footnoting characters.
footnote-unicode-stringString of Unicode footnoting characters.
footnote-use-message-modeIf non-nil, assume Footnoting will be done in ‘message-mode’.

Defined functions (40)

footnote--adaptive-fill-function(ORIG-FUN)
footnote--calc-fn-alignment-column()
footnote--current-regexp(&optional INDEX-REGEXP)
footnote--english-lower(N)
footnote--english-upper(N)
footnote--fill-paragraph(ORIG-FUN JUSTIFY)
footnote--fill-prefix-string()
footnote--get-area-point-max()
footnote--get-area-point-min(&optional BEFORE-TAG)
footnote--goto-char-point-max()
footnote--goto-first()
footnote--hebrew-numeric(N)
footnote--hebrew-symbolic(N)
footnote--index-to-string(INDEX)
footnote--insert-footnote(ARG)
footnote--insert-markers(ARG TEXT PTR)
footnote--insert-numbered-footnote(ARG &optional MOUSABLE)
footnote--latin(N)
footnote--local-advice(MODE VARIABLE FUNCTION)
footnote--make-hole()
footnote--narrow-to-footnotes()
footnote--numeric(N)
footnote--point-in-body-p()
footnote--refresh-footnotes(&optional INDEX-REGEXP)
footnote--renumber(TO ALIST-ELEM)
footnote--roman-common(N FOOTNOTE-ROMAN-LIST)
footnote--roman-lower(N)
footnote--roman-upper(N)
footnote--sort(LIST)
footnote--text-under-cursor()
footnote--under-cursor()
footnote--unicode(N)
footnote-add-footnote()
footnote-back-to-message()
footnote-cycle-style()
footnote-delete-footnote(&optional ARG)
footnote-goto-footnote(&optional ARG)
footnote-mode(&optional ARG)
footnote-renumber-footnotes()
footnote-set-style(STYLE)

Defined faces (0)