changeset 20446:4bcd559e2cb4

(bibtex-generate-autokey): Doc fix.
author Karl Heuer <kwzh@gnu.org>
date Tue, 09 Dec 1997 22:42:05 +0000
parents 20ff88ac8cc2
children 5e449f7584b2
files lisp/textmodes/bibtex.el
diffstat 1 files changed, 62 insertions(+), 75 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/bibtex.el	Tue Dec 09 22:04:25 1997 +0000
+++ b/lisp/textmodes/bibtex.el	Tue Dec 09 22:42:05 1997 +0000
@@ -1943,81 +1943,68 @@
    (bibtex-autokey-get-titles titlestring)))
 
 (defun bibtex-generate-autokey ()
-  ;; Generates automatically a key from the author/editor and the
-  ;; title field. This will only work for entries where each field
-  ;; begins on a separate line.
-  ;; The generation algorithm works as follows:
-  ;;  1. Use the value of `bibtex-autokey-prefix-string' as a prefix.
-  ;;  2. If there is a non-empty author (preferred) or editor field,
-  ;;     use it as the name part of the key.
-  ;;  3. Change any substring found in
-  ;;     `bibtex-autokey-name-change-strings' to the corresponding new
-  ;;     one (see documentation of this variable for further detail).
-  ;;  4. For every of at least first `bibtex-autokey-names' names in
-  ;;     the name field, determine the last name. If there are maximal
-  ;;     `bibtex-autokey-names' + `bibtex-autokey-names-stretch'
-  ;;     names, all names are used.
-  ;;  5. From every last name, take at least
-  ;;     `bibtex-autokey-name-length' characters (abort only after a
-  ;;     consonant or at a word end).
-  ;;  6. Unless `bibtex-autokey-preserve-case' is non-nil, convert all
-  ;;     last names to lowercase letters.
-  ;;  7. Build the name part of the key by concatenating all
-  ;;     abbreviated last names with the string
-  ;;     `bibtex-autokey-name-separator' between any two. If there are
-  ;;     more names than are used in the name part, prepend the string
-  ;;     contained in `bibtex-autokey-additional-names'.
-  ;;  8. Build the year part of the key by truncating the contents of
-  ;;     the year field to the rightmost `bibtex-autokey-year-length'
-  ;;     digits (useful values are 2 and 4). If the year field is
-  ;;     absent, but the entry has a valid crossref field and the
-  ;;     variable `bibtex-autokey-year-use-crossref-entry' is non-nil,
-  ;;     use the year field of the crossreferenced entry instead.
-  ;;  9. For the title part of the key change the contents of the
-  ;;     title field of the reference according to
-  ;;     `bibtex-autokey-titleword-change-strings' to the
-  ;;     corresponding new one (see documentation of this variable for
-  ;;     further detail).
-  ;; 10. Abbreviate the result to the string up to (but not including)
-  ;;     the first occurrence of a regexp matched by the items of
-  ;;     `bibtex-autokey-title-terminators' and delete the first
-  ;;     word if it appears in
-  ;;     `bibtex-autokey-titleword-first-ignore'. Build the title part
-  ;;     of the key by using at least the first
-  ;;     `bibtex-autokey-titlewords' capitalized words from this
-  ;;     abbreviated title. If the abbreviated title ends after
-  ;;     maximal `bibtex-autokey-titlewords' +
-  ;;     `bibtex-autokey-titlewords-stretch' capitalized words, all
-  ;;     capitalized words from the abbreviated title are used.
-  ;; 11. Unless `bibtex-autokey-preserve-case' is non-nil, convert all
-  ;;     used titlewords to lowercase letters.
-  ;; 12. For every used title word that appears in
-  ;;     `bibtex-autokey-titleword-abbrevs' use the corresponding
-  ;;     abbreviation (see documentation of this variable for further
-  ;;     detail).
-  ;; 13. From every title word not generated by an abbreviation, take
-  ;;     at least `bibtex-autokey-titleword-length' characters (abort
-  ;;     only after a consonant or at a word end).
-  ;; 14. Build the title part of the key by concatenating all
-  ;;     abbreviated title words with the string
-  ;;     `bibtex-autokey-titleword-separator' between any two.
-  ;; 15. At least, to get the key, concatenate
-  ;;     `bibtex-autokey-prefix-string', the name part, the year part
-  ;;     and the title part with `bibtex-autokey-name-year-separator'
-  ;;     between the name part and the year part if both are non-empty
-  ;;     and `bibtex-autokey-year-title-separator' between the year
-  ;;     part and the title part if both are non-empty. If the year
-  ;;     part is empty, but not the other two parts,
-  ;;     `bibtex-autokey-year-title-separator' is used as well.
-  ;; 16. If the value of `bibtex-autokey-before-presentation-hook' is
-  ;;     non-nil, it must be a function taking one argument. This
-  ;;     function is then called with the generated key as the
-  ;;     argument. The return value of this function (a string) is
-  ;;     used as the key.
-  ;; 17. If the value of `bibtex-autokey-edit-before-use' is non-nil,
-  ;;     the key is then presented in the minibuffer to the user,
-  ;;     where it can be edited. The key given by the user is then
-  ;;     used.
+  "Automatically generate a key from the author/editor and the title field.
+This will only work for entries where each field begins on a separate line.
+The generation algorithm works as follows:
+ 1. Use the value of `bibtex-autokey-prefix-string' as a prefix.
+ 2. If there is a non-empty author (preferred) or editor field,
+    use it as the name part of the key.
+ 3. Change any substring found in `bibtex-autokey-name-change-strings'
+    to the corresponding new one (see documentation of this variable for
+    further detail).
+ 4. For each of at least the first `bibtex-autokey-names' names in
+    the name field, determine the last name.  If there are at most
+    `bibtex-autokey-names' + `bibtex-autokey-names-stretch'
+    names, all names are used.
+ 5. From every last name, take at least `bibtex-autokey-name-length'
+    characters (abort only after a consonant or at a word end).
+ 6. Unless `bibtex-autokey-preserve-case' is non-nil, convert all
+    last names to lowercase letters.
+ 7. Build the name part of the key by concatenating all abbreviated last
+    names with the string `bibtex-autokey-name-separator' between any two.
+    If there are more names than are used in the name part, prepend the
+    string contained in `bibtex-autokey-additional-names'.
+ 8. Build the year part of the key by truncating the contents of
+    the year field to the rightmost `bibtex-autokey-year-length'
+    digits (useful values are 2 and 4).  If the year field is
+    absent, but the entry has a valid crossref field and the
+    variable `bibtex-autokey-year-use-crossref-entry' is non-nil,
+    use the year field of the crossreferenced entry instead.
+ 9. For the title part of the key change the contents of the title field
+    of the reference according to `bibtex-autokey-titleword-change-strings'
+    to the corresponding new one (see documentation of this variable for
+    further detail).
+10. Abbreviate the result to the string up to (but not including)
+    the first occurrence of a regexp matched by the items of
+    `bibtex-autokey-title-terminators' and delete the first word if it
+    appears in `bibtex-autokey-titleword-first-ignore'.  Use at least the
+    first `bibtex-autokey-titlewords' capitalized words from this
+    abbreviated title.  If the abbreviated title ends after at most
+    `bibtex-autokey-titlewords' + `bibtex-autokey-titlewords-stretch'
+    capitalized words, all capitalized words from the abbreviated title are
+    used.
+11. Unless `bibtex-autokey-preserve-case' is non-nil, convert all
+    used title words to lowercase letters.
+12. For each word that appears in `bibtex-autokey-titleword-abbrevs', use
+    the corresponding abbreviation (see documentation of this variable for
+    further detail).
+13. From each title word not generated by an abbreviation, take at least
+    `bibtex-autokey-titleword-length' characters (abort only after a
+    consonant or at a word end).
+14. Build the title part of the key by concatenating all abbreviated title
+    words with the string `bibtex-autokey-titleword-separator' between any
+    two.
+15. Finally, to get the key, concatenate `bibtex-autokey-prefix-string';
+    the name part; `bibtex-autokey-name-year-separator' if the name and year
+    are both nonempty; the year part; `bibtex-autokey-year-title-separator'
+    if the title and either name or year are nonempty; and the title part.
+16. If the value of `bibtex-autokey-before-presentation-hook' is non-nil,
+    it must be a function taking one argument.  This function is then
+    called with the generated key as the argument.  The return value of
+    this function (a string) is used as the key.
+17. If the value of `bibtex-autokey-edit-before-use' is non-nil,
+    the key is then presented in the minibuffer to the user, where
+    it can be edited.  The key given by the user is then used."
 
   (let* ((pnt (point))
          (min (bibtex-beginning-of-entry))