Mercurial > emacs
annotate lisp/textmodes/bibtex.el @ 17666:ca11152dcad5
Doc fix.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 05 May 1997 17:06:10 +0000 |
parents | 8d8800822c78 |
children | d28dbbfabfb1 |
rev | line source |
---|---|
662
8a533acedb77
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
1 ;;; bibtex.el --- BibTeX mode for GNU Emacs |
8a533acedb77
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
2 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
3 ;; Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. |
845 | 4 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
5 ;; Author: Stefan Schoef <schoef@offis.uni-oldenburg.de> |
14410 | 6 ;; Bengt Martensson <bengt@mathematik.uni-Bremen.de> |
810
80303373daae
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
7 ;; Mark Shapiro <shapiro@corto.inria.fr> |
80303373daae
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
8 ;; Mike Newton <newton@gumby.cs.caltech.edu> |
80303373daae
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
9 ;; Aaron Larson <alarson@src.honeywell.com> |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
10 ;; Maintainer: Stefan Schoef <schoef@offis.uni-oldenburg.de> |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
11 ;; Keywords: BibTeX, LaTeX, TeX |
810
80303373daae
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
12 |
257 | 13 ;; This file is part of GNU Emacs. |
14 | |
15 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
16 ;; it under the terms of the GNU General Public License as published by | |
1851 | 17 ;; the Free Software Foundation; either version 2, or (at your option) |
257 | 18 ;; any later version. |
19 | |
20 ;; GNU Emacs is distributed in the hope that it will be useful, | |
21 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
22 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
23 ;; GNU General Public License for more details. | |
24 | |
25 ;; You should have received a copy of the GNU General Public License | |
14169 | 26 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
27 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
28 ;; Boston, MA 02111-1307, USA. | |
257 | 29 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
30 ;;; Commentary: |
14169 | 31 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
32 ;; Major mode for editing and validating BibTeX files. |
257 | 33 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
34 ;; Usage: |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
35 ;; See documentation for function bibtex-mode (or type "\M-x describe-mode" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
36 ;; when you are in bibtex-mode). |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
37 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
38 ;; Todo: |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
39 ;; Distribute texinfo file. |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
40 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
41 ;; Known Bugs: |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
42 ;; 1. using regular expressions to match the entire BibTeX entry dies |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
43 ;; on long entries (e.g. those containing abstracts) since |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
44 ;; the length of regular expression matches is fairly limited. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
45 ;; 2. Calling bibtex-find-text in a string entry results in the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
46 ;; error message "Can't find enclosing Bibtex field" instead of |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
47 ;; moving to the empty string. [reported by gernot@cs.unsw.oz.au] |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
48 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
49 ;; (current keeper: schoef@offis.uni-oldenburg.de |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
50 ;; previous: alarson@src.honeywell.com) |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
51 |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
52 ;;; Code: |
14169 | 53 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
54 ;; User Options: |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
55 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
56 (defvar bibtex-field-left-delimiter "{" |
11373
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
57 "*Set this to { or \" according to your personal preferences. |
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
58 This variable is buffer local.") |
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
59 (make-variable-buffer-local 'bibtex-field-left-delimiter) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
60 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
61 (defvar bibtex-field-right-delimiter "}" |
11373
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
62 "*Set this to } or \" according to your personal preferences. |
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
63 This variable is buffer local.") |
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
64 (make-variable-buffer-local 'bibtex-field-right-delimiter) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
65 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
66 (defvar bibtex-include-OPTcrossref '("InProceedings" "InCollection") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
67 "*All entries listed here will have an OPTcrossref field.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
68 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
69 (defvar bibtex-include-OPTkey t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
70 "*If non-nil, all entries will have an OPTkey field.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
71 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
72 (defvar bibtex-include-OPTannote t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
73 "*If non-nil, all entries will have an OPTannote field.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
74 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
75 (defvar bibtex-mode-user-optional-fields nil |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
76 "*List of optional fields the user wants to have always present. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
77 Entries should be lists of strings with two elements (first element = |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
78 name of the field, second element = comment to appear in the echo area).") |
257 | 79 |
80 (defvar bibtex-clean-entry-zap-empty-opts t | |
561 | 81 "*If non-nil, bibtex-clean-entry will delete all empty optional fields.") |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
82 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
83 (defvar bibtex-sort-ignore-string-entries t |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
84 "*If non-nil, BibTeX @STRING entries are not sort-significant. |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
85 That means they are ignored when determining ordering of the buffer |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
86 (e.g. sorting, locating alphabetical position for new entries, etc.). |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
87 This variable is buffer local.") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
88 (make-variable-buffer-local 'bibtex-sort-ignore-string-entries) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
89 |
12770
5488d9efa7de
(bibtex-maintain-sorted-entries): Make nil the default.
Richard M. Stallman <rms@gnu.org>
parents:
12700
diff
changeset
|
90 (defvar bibtex-maintain-sorted-entries nil |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
91 "*If non-nil, bibtex-mode maintains all BibTeX entries in sorted order. |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
92 Setting this variable to nil will strip off some comfort (e.g. TAB |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
93 completion for reference keys in minibuffer, automatic detection of |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
94 duplicates) from bibtex-mode. See also bibtex-sort-ignore-string-entries. |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
95 This variable is buffer local.") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
96 (make-variable-buffer-local 'bibtex-maintain-sorted-entries) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
97 |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
98 (defvar bibtex-parse-keys-timeout auto-save-timeout |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
99 "*Specifies interval for parsing buffer for keys. |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
100 The buffer is checked every bibtex-parse-keys-timeout seconds if it is |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
101 modified since last parsing and is parsed if necessary. This is needed |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
102 only if buffer is maintained sorted (bibtex-maintain-sorted-entries |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
103 non-nil).") |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
104 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
105 (defvar bibtex-entry-field-alist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
106 '( |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
107 ("Article" . (((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
108 ("title" "Title of the article (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
109 ("journal" "Name of the journal (use string, remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
110 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
111 (("volume" "Volume of the journal") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
112 ("number" "Number of the journal") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
113 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
114 ("pages" "Pages in the journal") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
115 ("note" "Remarks to be put at the end of the \\bibitem"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
116 ((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
117 ("title" "Title of the article (BibTeX converts it to lowercase)")) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
118 (("journal" "Name of the journal (use string, remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
119 ("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
120 ("volume" "Volume of the journal") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
121 ("number" "Number of the journal") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
122 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
123 ("pages" "Pages in the journal") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
124 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
125 ("Book" . (((("author" "Author1 [and Author2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
126 ("title" "Title of the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
127 ("publisher" "Publishing company") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
128 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
129 (("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
130 ("volume" "Volume of the book in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
131 ("number" "Number of the book in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
132 ("series" "Series in which the book appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
133 ("address" "Address of the publisher") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
134 ("edition" "Edition of the book as a capitalized English word") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
135 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
136 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
137 ("Booklet" . (((("title" "Title of the booklet (BibTeX converts it to lowercase)")) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
138 (("author" "Author1 [and Author2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
139 ("howpublished" "The way in which the booklet was published") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
140 ("address" "Address of the publisher") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
141 ("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
142 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
143 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
144 ("InBook" . (((("author" "Author1 [and Author2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
145 ("title" "Title of the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
146 ("chapter" "Chapter in the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
147 ("publisher" "Publishing company") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
148 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
149 (("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
150 ("volume" "Volume of the book in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
151 ("number" "Number of the book in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
152 ("series" "Series in which the book appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
153 ("address" "Address of the publisher") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
154 ("edition" "Edition of the book as a capitalized English word") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
155 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
156 ("pages" "Pages in the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
157 ("type" "Word to use instead of \"chapter\"") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
158 ("note" "Remarks to be put at the end of the \\bibitem"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
159 ((("author" "Author1 [and Author2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
160 ("title" "Title of the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
161 ("chapter" "Chapter in the book")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
162 (("publisher" "Publishing company") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
163 ("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
164 ("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
165 ("volume" "Volume of the book in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
166 ("number" "Number of the book in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
167 ("series" "Series in which the book appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
168 ("address" "Address of the publisher") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
169 ("edition" "Edition of the book as a capitalized English word") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
170 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
171 ("pages" "Pages in the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
172 ("type" "Word to use instead of \"chapter\"") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
173 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
174 ("InCollection" . (((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
175 ("title" "Title of the article in book (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
176 ("booktitle" "Name of the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
177 ("publisher" "Publishing company") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
178 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
179 (("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
180 ("volume" "Volume of the book in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
181 ("number" "Number of the book in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
182 ("series" "Series in which the book appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
183 ("chapter" "Chapter in the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
184 ("type" "Word to use instead of \"chapter\"") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
185 ("address" "Address of the publisher") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
186 ("edition" "Edition of the book as a capitalized English word") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
187 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
188 ("pages" "Pages in the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
189 ("note" "Remarks to be put at the end of the \\bibitem"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
190 ((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
191 ("title" "Title of the article in book (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
192 ("booktitle" "Name of the book")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
193 (("publisher" "Publishing company") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
194 ("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
195 ("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
196 ("volume" "Volume of the book in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
197 ("number" "Number of the book in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
198 ("series" "Series in which the book appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
199 ("chapter" "Chapter in the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
200 ("type" "Word to use instead of \"chapter\"") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
201 ("address" "Address of the publisher") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
202 ("edition" "Edition of the book as a capitalized English word") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
203 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
204 ("pages" "Pages in the book") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
205 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
206 ("InProceedings" . (((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
207 ("title" "Title of the article in proceedings (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
208 ("booktitle" "Name of the conference proceedings") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
209 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
210 (("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
211 ("volume" "Volume of the conference proceedings in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
212 ("number" "Number of the conference proceedings in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
213 ("series" "Series in which the conference proceedings appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
214 ("organization" "Sponsoring organization of the conference") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
215 ("publisher" "Publishing company, its location") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
216 ("address" "Location of the Proceedings") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
217 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
218 ("pages" "Pages in the conference proceedings") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
219 ("note" "Remarks to be put at the end of the \\bibitem"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
220 ((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
221 ("title" "Title of the article in proceedings (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
222 ("booktitle" "Name of the conference proceedings")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
223 (("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
224 ("volume" "Volume of the conference proceedings in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
225 ("number" "Number of the conference proceedings in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
226 ("series" "Series in which the conference proceedings appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
227 ("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
228 ("organization" "Sponsoring organization of the conference") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
229 ("publisher" "Publishing company, its location") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
230 ("address" "Location of the Proceedings") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
231 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
232 ("pages" "Pages in the conference proceedings") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
233 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
234 ("Manual" . (((("title" "Title of the manual")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
235 (("author" "Author1 [and Author2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
236 ("organization" "Publishing organization of the manual") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
237 ("address" "Address of the organization") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
238 ("edition" "Edition of the manual as a capitalized English word") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
239 ("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
240 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
241 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
257 | 242 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
243 ("MastersThesis" . (((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
244 ("title" "Title of the master\'s thesis (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
245 ("school" "School where the master\'s thesis was written") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
246 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
247 (("address" "Address of the school (if not part of field \"school\") or country") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
248 ("type" "Type of the master\'s thesis") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
249 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
250 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
251 ("Misc" . ((() |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
252 (("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
253 ("title" "Title of the reference (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
254 ("howpublished" "The way in which the reference was published") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
255 ("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
256 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
257 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
258 ("PhdThesis" . (((("author" "Author1 [and Author2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
259 ("title" "Title of the PhD. thesis") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
260 ("school" "School where the PhD. thesis was written") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
261 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
262 (("address" "Address of the school (if not part of field \"school\") or country") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
263 ("type" "Type of the PhD. thesis") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
264 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
265 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
266 ("Proceedings" . (((("title" "Title of the conference proceedings") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
267 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
268 (("editor" "Editor1 [and Editor2 ...] [and others]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
269 ("volume" "Volume of the conference proceedings in the series") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
270 ("number" "Number of the conference proceedings in a small series (overwritten by volume)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
271 ("series" "Series in which the conference proceedings appeared") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
272 ("publisher" "Publishing company, its location") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
273 ("organization" "Sponsoring organization of the conference") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
274 ("address" "Location of the Proceedings") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
275 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
276 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
277 ("TechReport" . (((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
278 ("title" "Title of the technical report (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
279 ("institution" "Sponsoring institution of the report") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
280 ("year" "Year of publication")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
281 (("type" "Type of the report (if other than \"technical report\")") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
282 ("number" "Number of the technical report") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
283 ("address" "Address of the institution (if not part of field \"institution\") or country") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
284 ("month" "Month of the publication as a string (remove braces)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
285 ("note" "Remarks to be put at the end of the \\bibitem"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
286 ("Unpublished" . (((("author" "Author1 [and Author2 ...] [and others]") |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
287 ("title" "Title of the unpublished reference (BibTeX converts it to lowercase)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
288 ("note" "Remarks to be put at the end of the \\bibitem")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
289 (("year" "Year of publication") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
290 ("month" "Month of the publication as a string (remove braces)"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
291 ) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
292 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
293 "Defines reference types and their associated fields. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
294 List of |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
295 (entry-name (required optional) (crossref-required crossref-optional)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
296 triples. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
297 If the third element is nil, the first pair is always to be used. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
298 If not, the second pair is to be used in the case of presence of a |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
299 crossref field and the third in the case of absence. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
300 Required , optional, crossref-required and crossref-optional are lists. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
301 Each element of these lists is a list of strings with two elements |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
302 (first element = name of the field, |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
303 second element = comment to appear in the echo area).") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
304 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
305 (defvar bibtex-predefined-strings |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
306 '( |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
307 ("jan") ("feb") ("mar") ("apr") ("may") ("jun") ("jul") ("aug") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
308 ("sep") ("oct") ("nov") ("dec") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
309 ("acmcs") ("acta") ("cacm") ("ibmjrd") ("ibmsj") ("ieeese") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
310 ("ieeetc") ("ieeetcad") ("ipl") ("jacm") ("jcss") ("scp") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
311 ("sicomp") ("tcs") ("tocs") ("tods") ("tog") ("toms") ("toois") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
312 ("toplas") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
313 ) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
314 "Alist of string definitions. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
315 Should contain the strings defined in the BibTeX style files. Each |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
316 element is a list with just one element: the string.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
317 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
318 (defvar bibtex-string-files nil |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
319 "*List of BibTeX files containing string definitions. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
320 Those files must be specified using pathnames relative to the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
321 directories specified in $BIBINPUTS. This variable is only evaluated |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
322 when bibtex-mode is entered (i. e. when loading the BibTeX file).") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
323 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
324 (defvar bibtex-help-message t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
325 "*If not nil print help messages in the echo area on entering a new field.") |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
326 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
327 (defvar bibtex-autokey-names 1 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
328 "*Number of names to use for the automatically generated reference key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
329 If this is set to anything but a number, all names are used. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
330 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
331 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
332 (defvar bibtex-autokey-name-change-strings |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
333 '(("\\\\\\\"a" "ae") ("\\\\\\\"o" "oe") ("\\\\\\\"u" "ue") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
334 ("\\\\\\\"s" "ss") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
335 ("\\\\\\\"A" "Ae") ("\\\\\\\"O" "Oe") ("\\\\\\\"U" "Ue") |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
336 ("\\\"a" "ae") ("\\\"o" "oe") ("\\\"u" "ue") ("\\\"s" "ss") |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
337 ("\\\"A" "Ae") ("\\\"O" "Oe") ("\\\"U" "Ue") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
338 ("{" "") ("}" "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
339 "Alist of (old-regexp new-string) pairs. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
340 Any part of name matching a old-regexp is replaced by new-string. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
341 Case of the old-regexp is significant. All regexps are tried in the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
342 order in which they appear in the list, so be sure to avoid recursion here. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
343 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
344 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
345 (defvar bibtex-autokey-name-length 'infty |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
346 "*Number of characters from name to incorporate into key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
347 If this is set to anything but a number, all characters are used. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
348 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
349 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
350 (defvar bibtex-autokey-name-separator "" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
351 "*String that comes between any two names in the key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
352 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
353 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
354 (defvar bibtex-autokey-year-length 2 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
355 "*Number of rightmost digits from the year field yo incorporate into key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
356 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
357 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
358 (defvar bibtex-autokey-titlewords 5 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
359 "*Number of title words to use for the automatically generated reference key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
360 If this is set to anything but a number, all title words are used. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
361 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
362 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
363 (defvar bibtex-autokey-title-terminators |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
364 '("\\." "!" "\\?" ":" ";" "---") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
365 "*Regexp list defining the termination of the main part of the title. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
366 Case of the regexps is ignored. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
367 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
368 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
369 (defvar bibtex-autokey-titlewords-stretch 2 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
370 "*Number of words that can additionally be used from the title. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
371 These words are used only, if a sentence from the title can be ended then. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
372 See the documentation of function bibtex-generate-autokey for further detail.") |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
373 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
374 (defvar bibtex-autokey-titleword-first-ignore |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
375 '("a" "an" "on" "the" "eine?" "der" "die" "das") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
376 "*Determines words that may begin a title but are not to be used in the key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
377 Each item of the list is a regexp. If the first word of the title matchs a |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
378 regexp from that list, it is not included in the title, even if it is |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
379 capitalized. Regexps in the list must be entered using lowercase letters.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
380 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
381 (defvar bibtex-autokey-titleword-abbrevs nil |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
382 "*Determines exceptions to the usual abbreviation mechanism. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
383 A list of (old-regexp new-string) pairs. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
384 Use all lowercase letters for old-regexp. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
385 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
386 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
387 (defvar bibtex-autokey-titleword-change-strings |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
388 '(("\\\\\\\"a" "ae") ("\\\\\\\"o" "oe") ("\\\\\\\"u" "ue") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
389 ("\\\\\\\"s" "ss") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
390 ("\\\\\\\"A" "Ae") ("\\\\\\\"O" "Oe") ("\\\\\\\"U" "Ue") |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
391 ("\\\"a" "ae") ("\\\"o" "oe") ("\\\"u" "ue") ("\\\"s" "ss") |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
392 ("\\\"A" "Ae") ("\\\"O" "Oe") ("\\\"U" "Ue") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
393 ("{" "") ("}" "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
394 "Alist of (old-regexp new-string) pairs. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
395 Any part of title word matching a old-regexp is replaced by new-string. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
396 Case of the old-regexp is significant. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
397 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
398 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
399 (defvar bibtex-autokey-titleword-length 5 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
400 "*Number of characters from title words to incorporate into key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
401 If this is set to anything but a number, all characters are used. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
402 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
403 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
404 (defvar bibtex-autokey-titleword-separator "_" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
405 "*String to be put between the title words. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
406 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
407 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
408 (defvar bibtex-autokey-name-year-separator "" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
409 "*String to be put between name part and year part of key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
410 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
411 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
412 (defvar bibtex-autokey-year-title-separator ":_" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
413 "*String to be put between name part and year part of key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
414 See the documentation of function bibtex-generate-autokey for further detail.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
415 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
416 (defvar bibtex-autokey-edit-before-use t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
417 "*If non-nil, user is allowed to edit the generated key before it is used.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
418 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
419 ;; bibtex-font-lock-keywords is a user option as well, but since the |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
420 ;; patterns used to define this variable are defined in a later |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
421 ;; section of this file, its definition comes later. |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
422 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
423 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
424 ;; Syntax Table, Keybindings and BibTeX Entry List |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
425 (defvar bibtex-mode-syntax-table |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
426 (let ((st (make-syntax-table))) |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
427 (modify-syntax-entry ?\" "w" st) |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
428 ;; this was formerly "\"". Does this cause any problems? |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
429 (modify-syntax-entry ?$ "$$ " st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
430 (modify-syntax-entry ?% "< " st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
431 (modify-syntax-entry ?' "w " st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
432 (modify-syntax-entry ?@ "w " st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
433 (modify-syntax-entry ?\\ "\\" st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
434 (modify-syntax-entry ?\f "> " st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
435 (modify-syntax-entry ?\n "> " st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
436 (modify-syntax-entry ?~ " " st) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
437 st)) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
438 |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
439 (defvar bibtex-mode-map |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
440 (let ((km (make-sparse-keymap))) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
441 |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
442 (define-key km "\t" 'bibtex-find-text) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
443 (define-key km "\n" 'bibtex-next-field) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
444 (define-key km "\M-\t" 'bibtex-complete-string) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
445 (define-key km "\C-c\"" 'bibtex-remove-double-quotes-or-braces) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
446 (define-key km "\C-c{" 'bibtex-remove-double-quotes-or-braces) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
447 (define-key km "\C-c}" 'bibtex-remove-double-quotes-or-braces) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
448 (define-key km "\C-c\C-c" 'bibtex-clean-entry) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
449 (define-key km "\C-c?" 'bibtex-print-help-message) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
450 (define-key km "\C-c\C-p" 'bibtex-pop-previous) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
451 (define-key km "\C-c\C-n" 'bibtex-pop-next) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
452 (define-key km "\C-c\C-k" 'bibtex-kill-optional-field) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
453 (define-key km "\C-c\C-d" 'bibtex-empty-field) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
454 (define-key km "\C-c$" 'bibtex-ispell-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
455 (define-key km "\M-\C-a" 'bibtex-beginning-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
456 (define-key km "\M-\C-e" 'bibtex-end-of-entry) |
4611
5495e1a7a79c
(bibtex-mode-map): Change C-c e to C-c C-b.
Richard M. Stallman <rms@gnu.org>
parents:
3618
diff
changeset
|
457 (define-key km "\C-c\C-b" 'bibtex-entry) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
458 (define-key km "\C-c\C-q" 'bibtex-hide-entry-bodies) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
459 (define-key km "\C-c\C-rn" 'bibtex-narrow-to-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
460 (define-key km "\C-c\C-rw" 'widen) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
461 (define-key km "\C-c\C-o" 'bibtex-remove-OPT) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
462 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
463 (define-key km "\C-c\C-e\C-i" 'bibtex-InProceedings) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
464 (define-key km "\C-c\C-ei" 'bibtex-InCollection) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
465 (define-key km "\C-c\C-eI" 'bibtex-InBook) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
466 (define-key km "\C-c\C-e\C-a" 'bibtex-Article) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
467 (define-key km "\C-c\C-e\C-b" 'bibtex-InBook) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
468 (define-key km "\C-c\C-eb" 'bibtex-Book) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
469 (define-key km "\C-c\C-eB" 'bibtex-Booklet) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
470 (define-key km "\C-c\C-e\C-c" 'bibtex-InCollection) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
471 (define-key km "\C-c\C-e\C-m" 'bibtex-Manual) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
472 (define-key km "\C-c\C-em" 'bibtex-MastersThesis) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
473 (define-key km "\C-c\C-eM" 'bibtex-Misc) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
474 (define-key km "\C-c\C-e\C-p" 'bibtex-InProceedings) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
475 (define-key km "\C-c\C-ep" 'bibtex-Proceedings) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
476 (define-key km "\C-c\C-eP" 'bibtex-PhdThesis) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
477 (define-key km "\C-c\C-e\M-p" 'bibtex-preamble) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
478 (define-key km "\C-c\C-e\C-s" 'bibtex-string) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
479 (define-key km "\C-c\C-e\C-t" 'bibtex-TechReport) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
480 (define-key km "\C-c\C-e\C-u" 'bibtex-Unpublished) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
481 km)) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
482 |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
483 (define-key bibtex-mode-map [menu-bar bibtex-edit] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
484 (cons "BibTeX-Edit" (make-sparse-keymap "BibTeX-Edit"))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
485 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-print-help-message] |
12028
f667b7adde92
(bibtex-mode-map): Fix capitalization in menu bar.
Karl Heuer <kwzh@gnu.org>
parents:
11373
diff
changeset
|
486 '("Help about Current Field" . bibtex-print-help-message)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
487 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-complete-string] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
488 '("String Complete" . bibtex-complete-string)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
489 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-next-field] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
490 '("Next Field" . bibtex-next-field)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
491 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-find-text] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
492 '("End of Field" . bibtex-find-text)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
493 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-pop-previous] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
494 '("Snatch from Similar Preceding Field" . bibtex-pop-previous)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
495 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-pop-next] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
496 '("Snatch from Similar Following Field" . bibtex-pop-next)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
497 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-remove-OPT] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
498 '("Remove OPT" . bibtex-remove-OPT)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
499 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-remove-double-quotes-or-braces] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
500 '("Remove Quotes or Braces" . bibtex-remove-double-quotes-or-braces)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
501 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-clean-entry] |
12028
f667b7adde92
(bibtex-mode-map): Fix capitalization in menu bar.
Karl Heuer <kwzh@gnu.org>
parents:
11373
diff
changeset
|
502 '("Clean Up Entry" . bibtex-clean-entry)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
503 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-sort-entries] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
504 '("Sort Entries" . bibtex-sort-entries)) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
505 (define-key bibtex-mode-map |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
506 [menu-bar bibtex-edit bibtex-validate-buffer-from-point] |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
507 '("Validate Entries Starting at Point" . |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
508 (lambda () |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
509 (interactive) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
510 (bibtex-validate-buffer t)))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
511 (define-key bibtex-mode-map [menu-bar bibtex-edit bibtex-validate-buffer] |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
512 '("Validate Entries" . bibtex-validate-buffer)) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
513 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
514 (define-key bibtex-mode-map [menu-bar entry-types] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
515 (cons "Entry-Types" (make-sparse-keymap "Entry-Types"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
516 (define-key bibtex-mode-map [menu-bar entry-types bibtex-preamble] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
517 '("Preamble" . bibtex-preamble)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
518 (define-key bibtex-mode-map [menu-bar entry-types bibtex-string] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
519 '("String" . bibtex-string)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
520 (define-key bibtex-mode-map [menu-bar entry-types bibtex-Misc] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
521 '("Miscellaneous" . bibtex-Misc)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
522 (define-key bibtex-mode-map [menu-bar entry-types bibtex-Unpublished] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
523 '("Unpublished" . bibtex-Unpublished)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
524 (define-key bibtex-mode-map [menu-bar entry-types bibtex-Manual] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
525 '("Technical Manual" . bibtex-Manual)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
526 (define-key bibtex-mode-map [menu-bar entry-types bibtex-TechReport] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
527 '("Technical Report" . bibtex-TechReport)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
528 (define-key bibtex-mode-map [menu-bar entry-types bibtex-MastersThesis] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
529 '("Master's Thesis" . bibtex-MastersThesis)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
530 (define-key bibtex-mode-map [menu-bar entry-types bibtex-PhdThesis] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
531 '("PhD. Thesis" . bibtex-PhdThesis)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
532 (define-key bibtex-mode-map [menu-bar entry-types bibtex-Booklet] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
533 '("Booklet (Bound, but no Publisher/Institution)" . bibtex-Booklet)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
534 (define-key bibtex-mode-map [menu-bar entry-types bibtex-Book] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
535 '("Book" . bibtex-Book)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
536 (define-key bibtex-mode-map [menu-bar entry-types bibtex-Proceedings] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
537 '("Conference Proceedings" . bibtex-Proceedings)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
538 (define-key bibtex-mode-map [menu-bar entry-types bibtex-InBook] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
539 '("Chapter or Pages in a Book" . bibtex-InBook)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
540 (define-key bibtex-mode-map [menu-bar entry-types bibtex-InCollection] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
541 '("Article in a Collection" . bibtex-InCollection)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
542 (define-key bibtex-mode-map [menu-bar entry-types bibtex-InProceedings] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
543 '("Article in Conference Proceedings" . bibtex-InProceedings)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
544 (define-key bibtex-mode-map [menu-bar entry-types bibtex-Article] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
545 '("Article in Journal" . bibtex-Article)) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
546 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
547 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
548 ;; Bug Reporting |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
549 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
550 (defconst |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
551 bibtex-maintainer-address "Stefan Schoef <schoef@offis.uni-oldenburg.de>") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
552 ;; current maintainer |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
553 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
554 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
555 ;; Internal Variables |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
556 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
557 (defvar bibtex-pop-previous-search-point nil) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
558 ;; Next point where bibtex-pop-previous starts looking for a similar |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
559 ;; entry. |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
560 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
561 (defvar bibtex-pop-next-search-point nil) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
562 ;; Next point where bibtex-pop-next starts looking for a similar entry. |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
563 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
564 (defvar bibtex-completion-candidates nil) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
565 ;; Candidates for bibtex-complete-string. Initialized from |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
566 ;; bibtex-predefined-strings and bibtex-string-files. This variable is |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
567 ;; buffer-local. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
568 (make-variable-buffer-local 'bibtex-completion-candidates) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
569 |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
570 (defvar bibtex-keys nil) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
571 ;; Candidates for TAB completion when entering a reference key using |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
572 ;; the minibuffer. Initialized in bibtex-mode and updated for each |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
573 ;; new entry. This variable is buffer-local. |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
574 (make-variable-buffer-local 'bibtex-keys) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
575 |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
576 (defvar bibtex-buffer-last-parsed-for-keys-tick nil) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
577 ;; Remembers the value returned by buffer-modified-tick when buffer |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
578 ;; was parsed for keys the last time. |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
579 (make-variable-buffer-local 'bibtex-keys) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
580 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
581 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
582 ;; Functions to Parse the BibTeX Entries |
257 | 583 |
584 (defun bibtex-cfield (name text) | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
585 ;; Create a regexp for a BibTeX field of name NAME and text TEXT. |
257 | 586 (concat ",[ \t\n]*\\(" |
587 name | |
588 "\\)[ \t\n]*=[ \t\n]*\\(" | |
589 text | |
590 "\\)")) | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
591 (defconst bibtex-name-in-cfield 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
592 ;; The regexp subexpression number of the name part in bibtex-cfield. |
257 | 593 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
594 (defconst bibtex-text-in-cfield 2) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
595 ;; The regexp subexpression number of the text part in bibtex-cfield. |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
596 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
597 (defconst bibtex-field-name "[^\"#%'(),={} \t\n0-9][^\"#%'(),={} \t\n]*") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
598 ;; Regexp defining the name part of a BibTeX field. |
257 | 599 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
600 (defconst bibtex-field-const "[][A-Za-z0-9.:;?!`'()/*@_+=|<>-]+") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
601 ;; Format of a bibtex field constant (same as bibtex-reference-key (see below)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
602 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
603 (defconst bibtex-field-string-part-not-braced |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
604 "[^{}]") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
605 ;; Match field string part without braces |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
606 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
607 (defconst bibtex-field-string-part-no-inner-braces |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
608 (concat |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
609 "{" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
610 "\\(" bibtex-field-string-part-not-braced "\\)*" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
611 "}")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
612 ;; Match field string part with no inner braces |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
613 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
614 (defconst bibtex-field-string-part-1-inner-brace |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
615 (concat |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
616 "{" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
617 "\\(" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
618 "\\(" bibtex-field-string-part-not-braced "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
619 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
620 "\\(" bibtex-field-string-part-no-inner-braces "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
621 "\\)*" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
622 "}")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
623 ;; Match field string part with at most 1 inner brace |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
624 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
625 (defconst bibtex-field-string-part-2-inner-braces |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
626 (concat |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
627 "{" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
628 "\\(" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
629 "\\(" bibtex-field-string-part-not-braced "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
630 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
631 "\\(" bibtex-field-string-part-no-inner-braces "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
632 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
633 "\\(" bibtex-field-string-part-1-inner-brace "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
634 "\\)*" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
635 "}")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
636 ;; Match field string part with at most 2 inner braces |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
637 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
638 (defconst bibtex-field-string-part-3-inner-braces |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
639 (concat |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
640 "{" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
641 "\\(" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
642 "\\(" bibtex-field-string-part-not-braced "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
643 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
644 "\\(" bibtex-field-string-part-no-inner-braces "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
645 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
646 "\\(" bibtex-field-string-part-1-inner-brace "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
647 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
648 "\\(" bibtex-field-string-part-2-inner-braces "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
649 "\\)*" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
650 "}")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
651 ;; Match field string part with at most 3 inner braces |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
652 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
653 (defconst bibtex-field-string-braced |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
654 bibtex-field-string-part-3-inner-braces) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
655 ;; Match braced field string with inner nesting level of braces at most 3 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
656 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
657 (defconst bibtex-field-string-quoted |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
658 (concat |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
659 "\"" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
660 "\\(" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
661 "\\(" "[^\"\\]" "\\)" ;; every character except quote or backslash |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
662 "\\|" |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
663 ;; "\\(" "\"[A-Za-z-]" "\\)" ;; a quote followed by a letter or dash |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
664 ;; "\\|" |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
665 ;; last two lines commented out until lines like |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
666 ;; author = "Stefan Sch"of" |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
667 ;; are supported by BibTeX |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
668 "\\(" "\\\\.\\|\n" "\\)" ;; a backslash followed by any character |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
669 "\\)*" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
670 "\"")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
671 ;; Match quoted field string |
561 | 672 |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
673 (defconst bibtex-field-string |
257 | 674 (concat |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
675 "\\(" bibtex-field-string-braced "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
676 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
677 "\\(" bibtex-field-string-quoted "\\)")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
678 ;; Match a braced or quoted string |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
679 |
257 | 680 (defconst bibtex-field-string-or-const |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
681 (concat bibtex-field-const "\\|" bibtex-field-string)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
682 ;; Match either bibtex-field-string or bibtex-field-const. |
257 | 683 |
684 (defconst bibtex-field-text | |
685 (concat | |
686 "\\(" bibtex-field-string-or-const "\\)" | |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
687 "\\([ \t\n]+#[ \t\n]+\\(" bibtex-field-string-or-const "\\)\\)*")) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
688 ;; Regexp defining the text part of a BibTeX field: either a string, |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
689 ;; or an empty string, or a constant followed by one or more # / |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
690 ;; constant pairs. |
257 | 691 |
692 (defconst bibtex-field | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
693 (bibtex-cfield bibtex-field-name bibtex-field-text)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
694 ;; Regexp defining the format of a BibTeX field. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
695 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
696 (defconst bibtex-name-in-field bibtex-name-in-cfield) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
697 ;; The regexp subexpression number of the name part in BibTeX-field. |
257 | 698 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
699 (defconst bibtex-text-in-field bibtex-text-in-cfield) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
700 ;; The regexp subexpression number of the text part in BibTeX-field. |
257 | 701 |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
702 (defconst bibtex-reference-type "@[A-Za-z]+") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
703 ;; Regexp defining the type part of a BibTeX reference entry. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
704 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
705 (defconst bibtex-reference-key "[][A-Za-z0-9.:;?!`'()/*@_+=|<>-]+") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
706 ;; Regexp defining the label part of a BibTeX reference entry (same as |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
707 ;; bibtex-field-const (see above)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
708 |
257 | 709 (defconst bibtex-reference-head |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
710 (concat "^[ \t]*\\(" |
257 | 711 bibtex-reference-type |
15565
2a0d1c1d2746
(bibtex-reference-head): Allow whitespace after the open paren.
Richard M. Stallman <rms@gnu.org>
parents:
14789
diff
changeset
|
712 "\\)[ \t]*[({][ \t]*\\(" |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
713 bibtex-reference-key |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
714 "\\)")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
715 ;; Regexp defining format of the header line of a BibTeX reference |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
716 ;; entry. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
717 |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
718 (defconst bibtex-reference-maybe-empty-head |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
719 (concat bibtex-reference-head "?")) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
720 ;; Regexp defining format of the header line of a maybe empty |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
721 ;; BibTeX reference entry (without reference key). |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
722 |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
723 (defconst bibtex-type-in-head 1) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
724 ;; The regexp subexpression number of the type part in |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
725 ;; bibtex-reference-head. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
726 |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
727 (defconst bibtex-key-in-head 2) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
728 ;; The regexp subexpression number of the key part in |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
729 ;; bibtex-reference-head. |
257 | 730 |
731 (defconst bibtex-reference | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
732 (concat bibtex-reference-head |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
733 "\\([ \t\n]*" bibtex-field "\\)*" |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
734 "[ \t\n]*,?[ \t\n]*[})]")) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
735 ;; Regexp defining the format of a BibTeX reference entry. |
257 | 736 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
737 (defconst bibtex-type-in-reference bibtex-type-in-head) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
738 ;; The regexp subexpression number of the type part in |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
739 ;; bibtex-reference. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
740 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
741 (defconst bibtex-key-in-reference bibtex-key-in-head) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
742 ;; The regexp subexpression number of the key part in |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
743 ;; bibtex-reference. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
744 |
257 | 745 (defconst bibtex-string |
746 (concat "^[ \t]*@[sS][tT][rR][iI][nN][gG][ \t\n]*[({][ \t\n]*\\(" | |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
747 bibtex-reference-key |
257 | 748 "\\)[ \t\n]*=[ \t\n]*\\(" |
749 bibtex-field-text | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
750 "\\)[ \t\n]*[})]")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
751 ;; Regexp defining the format of a BibTeX string entry. |
257 | 752 |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
753 (defconst bibtex-key-in-string 1) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
754 ;; The regexp subexpression of the name part in bibtex-string. |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
755 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
756 (defconst bibtex-text-in-string 2) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
757 ;; The regexp subexpression of the text part in bibtex-string. |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
758 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
759 (defvar bibtex-font-lock-keywords |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
760 (list |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
761 (list bibtex-reference-maybe-empty-head |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
762 (list bibtex-type-in-head 'font-lock-function-name-face) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
763 (list bibtex-key-in-head 'font-lock-reference-face nil t)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
764 ;; reference type and reference label |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
765 (list (concat "^[ \t]*\\(OPT" bibtex-field-name "\\)[ \t]*=") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
766 1 'font-lock-comment-face) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
767 ;; optional field names (treated as comments) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
768 (list (concat "^[ \t]*\\(" bibtex-field-name "\\)[ \t]*=") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
769 1 'font-lock-variable-name-face) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
770 ;; field names |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
771 "*Default expressions to highlight in BibTeX mode.")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
772 ;; now all needed patterns are defined |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
773 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
774 (defconst bibtex-name-alignment 2) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
775 ;; Alignment for the name part in BibTeX fields. Chosen on aesthetic |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
776 ;; grounds only. |
257 | 777 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
778 (defconst bibtex-text-alignment (length " organization = ")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
779 ;; Alignment for the text part in BibTeX fields. Equal to the space |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
780 ;; needed for the longest name part. |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
781 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
782 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
783 ;; Helper Functions |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
784 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
785 (defun assoc-ignore-case (string alist) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
786 ;; Return non-nil if STRING is `equal' to the car of an element of |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
787 ;; LIST. Comparison is done with case ignored. The value is actually |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
788 ;; the element of LIST whose car is `equal' to STRING. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
789 (or (assoc string alist) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
790 (while (and alist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
791 (not (string-equal |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
792 (downcase string) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
793 (downcase (car (car alist)))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
794 (setq alist (cdr alist))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
795 (car alist))) |
257 | 796 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
797 (defun member-of-regexp (string list) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
798 ;; Return non-nil if STRING is exactly matched by an element of |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
799 ;; LIST. This function is influenced by the actual value of |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
800 ;; `case-fold-search'. The value is actually the tail of LIST whose |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
801 ;; car matches STRING. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
802 (while |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
803 (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
804 list |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
805 (not |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
806 (string-match |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
807 (concat "^" (car list) "$") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
808 string))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
809 (setq list (cdr list))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
810 list) |
257 | 811 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
812 (defun assoc-of-regexp (string alist) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
813 ;; Return non-nil if STRING is exactly matched by the car of an |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
814 ;; element of LIST. This function is influenced by the actual value |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
815 ;; of `case-fold-search'. The value is actually the element of LIST |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
816 ;; whose car matches STRING. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
817 (while |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
818 (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
819 alist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
820 (not |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
821 (string-match |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
822 (concat "^" (car (car alist)) "$") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
823 string))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
824 (setq alist (cdr alist))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
825 (car alist)) |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
826 |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
827 (defun skip-whitespace-and-comments () |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
828 (let ((md (match-data))) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
829 (unwind-protect |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
830 (while (cond ((looking-at "\\s>+\\|\\s +") |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
831 ;; was whitespace |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
832 ;; NOTE: also checked end-comment. In latex and |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
833 ;; lisp modes, newline is an end comment, but it |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
834 ;; should also be a whitespace char. |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
835 (goto-char (match-end 0))) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
836 ;; If looking at beginning of comment, skip to end. |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
837 ((looking-at "\\s<") |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
838 (re-search-forward "\\s>")))) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
839 (store-match-data md)))) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
840 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
841 (defun map-bibtex-entries (fun) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
842 ;; Call FUN for each BibTeX entry starting with the current. Do this |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
843 ;; to the end of the file. FUN is called with one argument, the key |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
844 ;; of the entry, and with point inside the entry. If |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
845 ;; bibtex-sort-ignore-string-entries is non-nil, FUN will not be called |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
846 ;; for @string entries. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
847 (bibtex-beginning-of-entry) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
848 (while (re-search-forward bibtex-reference-head nil t) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
849 (if (and bibtex-sort-ignore-string-entries |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
850 (string-equal "@string" |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
851 (downcase (buffer-substring-no-properties |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
852 (match-beginning bibtex-type-in-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
853 (match-end bibtex-type-in-head))))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
854 nil |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
855 (funcall fun (buffer-substring-no-properties |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
856 (match-beginning bibtex-key-in-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
857 (match-end bibtex-key-in-head)))))) |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
858 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
859 (defun bibtex-flash-head () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
860 ;; Flash at BibTeX reference head before point, if exists. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
861 (let ((flash)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
862 (cond ((re-search-backward bibtex-reference-head (point-min) t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
863 (goto-char (match-beginning bibtex-type-in-head)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
864 (setq flash (match-end bibtex-key-in-reference))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
865 (t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
866 (end-of-line) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
867 (skip-chars-backward " \t") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
868 (setq flash (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
869 (beginning-of-line) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
870 (skip-chars-forward " \t"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
871 (if (pos-visible-in-window-p (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
872 (sit-for 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
873 (message "From: %s" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
874 (buffer-substring (point) flash))))) |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
875 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
876 (defun bibtex-move-outside-of-entry () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
877 ;; Make sure we are outside of a BibTeX entry. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
878 (cond ((or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
879 (= (point) (point-max)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
880 (= (point) (point-min)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
881 (looking-at "[ \n]*@") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
882 ) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
883 t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
884 (t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
885 (backward-paragraph) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
886 (forward-paragraph))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
887 (re-search-forward "[ \t\n]*" (point-max) t)) |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
888 |
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
889 (defun beginning-of-first-bibtex-entry () |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
890 ;; Go to the beginning of the first BibTeX entry in buffer. |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
891 (goto-char (point-min)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
892 (cond |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
893 ((re-search-forward "^@" nil 'move) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
894 (beginning-of-line)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
895 ((and (bobp) (eobp)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
896 nil) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
897 (t |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
898 (message "Warning: No BibTeX entries found!")))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
899 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
900 (defun bibtex-inside-field () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
901 ;; Try to avoid point being at end of a BibTeX field. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
902 (end-of-line) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
903 (skip-chars-backward " \t") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
904 (cond ((= (preceding-char) ?,) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
905 (forward-char -2))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
906 (cond ((or |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
907 (= (preceding-char) ?}) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
908 (= (preceding-char) ?\")) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
909 (forward-char -1)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
910 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
911 (defun bibtex-enclosing-field () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
912 ;; Search for BibTeX field enclosing point. Point moves to end of |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
913 ;; field; also, use match-beginning and match-end to parse the field. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
914 ;; sct@dcs.edinburgh.ac.uk |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
915 (let ((old-point (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
916 (condition-case errname |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
917 (bibtex-enclosing-regexp bibtex-field) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
918 (search-failed |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
919 (goto-char old-point) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
920 (error "Can't find enclosing BibTeX field."))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
921 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
922 (defun bibtex-enclosing-reference () |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
923 ;; Search for BibTeX reference enclosing point. Point moves to |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
924 ;; beginning of reference. Beginning/end of reference is given by |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
925 ;; (match-beginning/match-end 0). |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
926 (let ((old-point (point))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
927 (if (not |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
928 (re-search-backward bibtex-reference-head (point-min) t)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
929 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
930 (error "Can't find enclosing BibTeX reference.") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
931 (goto-char old-point))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
932 (goto-char (match-beginning bibtex-type-in-head)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
933 (let ((pnt (point))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
934 (if (not |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
935 (re-search-forward bibtex-reference (point-max) t)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
936 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
937 (error "Can't find enclosing BibTeX reference.") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
938 (goto-char old-point)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
939 (goto-char pnt))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
940 |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
941 (defun bibtex-enclosing-reference-maybe-empty-head () |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
942 ;; Search for BibTeX reference enclosing point. Point moves to |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
943 ;; beginning of reference. Beginning/end of reference is given by |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
944 ;; (match-beginning/match-end 0). |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
945 (let ((old-point (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
946 (if (not |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
947 (re-search-backward |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
948 bibtex-reference-maybe-empty-head (point-min) t)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
949 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
950 (error "Can't find enclosing BibTeX reference.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
951 (goto-char old-point))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
952 (goto-char (match-beginning bibtex-type-in-head)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
953 (let ((pnt (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
954 (if (not |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
955 (re-search-forward |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
956 (concat |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
957 bibtex-reference-maybe-empty-head |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
958 "\\([ \t\n]*" bibtex-field "\\)*" |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
959 "[ \t\n]*,?[ \t\n]*[})]") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
960 (point-max) t)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
961 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
962 (error "Can't find enclosing BibTeX reference.") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
963 (goto-char old-point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
964 (goto-char pnt))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
965 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
966 (defun bibtex-enclosing-regexp (regexp) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
967 ;; Search for REGEXP enclosing point. Point moves to end of |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
968 ;; REGEXP. See also match-beginning and match-end. If an enclosing |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
969 ;; REGEXP is not found, signals search-failed; point is left in an |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
970 ;; undefined location. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
971 ;; Doesn't something like this exist already? |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
972 ;; compute reasonable limits for the loop |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
973 (let* ((initial (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
974 (right (if (re-search-forward regexp (point-max) t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
975 (match-end 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
976 (point-max))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
977 (left |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
978 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
979 (goto-char initial) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
980 (if (re-search-backward regexp (point-min) t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
981 (match-beginning 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
982 (point-min))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
983 ; within the prescribed limits, loop until a match is found |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
984 (goto-char left) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
985 (re-search-forward regexp right nil 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
986 (if (> (match-beginning 0) initial) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
987 (signal 'search-failed (list regexp))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
988 (while (<= (match-end 0) initial) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
989 (re-search-forward regexp right nil 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
990 (if (> (match-beginning 0) initial) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
991 (signal 'search-failed (list regexp)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
992 )) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
993 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
994 (defun bibtex-autokey-change (string change-list) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
995 ;; Returns a string where some regexps are changed according to |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
996 ;; change-list. Every item of change-list is an (old-regexp |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
997 ;; new-string) pair. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
998 (let ((return-string string) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
999 case-fold-search |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1000 (index 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1001 (len (length change-list)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1002 change-item) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1003 (while (< index len) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1004 (setq change-item (elt change-list index)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1005 (while (string-match (car change-item) return-string) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1006 (setq |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1007 return-string |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1008 (concat (substring return-string 0 (match-beginning 0)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1009 (elt change-item 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1010 (substring return-string (match-end 0))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1011 (setq index (1+ index))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1012 return-string)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1013 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1014 (defun bibtex-autokey-abbrev (string len) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1015 ;; Returns an abbreviation of string with at least len |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1016 ;; characters. String is aborted only after a consonant or at the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1017 ;; word end. If len is not a number, string is returned unchanged. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1018 (let* ((string-length (length string)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1019 (len (if (numberp len) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1020 (min len string-length) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1021 len)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1022 (return-string (if (numberp len) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1023 (substring string 0 len))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1024 (index len) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1025 (vowels '(?a ?e ?i ?o ?u ?A ?E ?I ?O ?U))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1026 (if (numberp len) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1027 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1028 (while (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1029 (< index string-length) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1030 (member (elt return-string |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1031 (1- (length return-string))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1032 vowels)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1033 (setq return-string (concat return-string |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1034 (substring |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1035 string index (1+ index))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1036 index (1+ index))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1037 return-string) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1038 string))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1039 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1040 (defun bibtex-generate-autokey () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1041 "Generates automatically a key from the author/editor and the title field. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1042 The generation algorithm works as follows: |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1043 1. If there is a non-empty author (preferred) or editor field, |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1044 use it for the name part of the key. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1045 2. Change any substring found in `bibtex-autokey-name-change-strings' |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1046 to the corresponding new one (see documentation of this variable |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1047 for further detail). |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1048 3. For every of the first `bibtex-autokey-names' names in the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1049 \"name\" field, determine the last name. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1050 4. From every last name, take at least `bibtex-autokey-name-length' |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1051 characters (abort only after a consonant or at a word end). |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1052 5. Build the name part of the key by concatenating all abbreviated last |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1053 names with the string `bibtex-autokey-name-separator' between |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1054 any two. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1055 6. Build the year part of the key by truncating the contents of the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1056 \"year\" field to the rightmost `bibtex-autokey-year-length' |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1057 digits (useful values are 2 and 4). |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1058 7. For the title part of the key change the contents of the \"title\" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1059 field of the reference according to |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1060 `bibtex-autokey-titleword-change-strings' to the corresponding |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1061 new one (see documentation of this variable for further detail). |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1062 8. Abbreviate the result to the string up to (but not including) the |
13968
cc71d8efd948
(bibtex-generate-autokey, bibtex-find-entry-location):
Karl Heuer <kwzh@gnu.org>
parents:
13728
diff
changeset
|
1063 first occurrence of a regexp matched by the items of |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1064 `bibtex-autokey-title-terminators' and delete the first |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1065 word if it appears in `bibtex-autokey-titleword-first-ignore'. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1066 Build the title part of the key by using at least the first |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1067 `bibtex-autokey-titlewords' capitalized words from this |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1068 abbreviated title. If the abbreviated title ends after maximal |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1069 `bibtex-autokey-titlewords' + `bibtex-autokey-titlewords-stretch' |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1070 capitalized words, all capitalized words from the abbreviated title |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1071 are used. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1072 9. For every used title word that appears in |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1073 `bibtex-autokey-titleword-abbrevs' use the corresponding abbreviation |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1074 (see documentation of this variable for further detail). |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1075 10. From every title word not generated by an abbreviation, take at |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1076 least `bibtex-autokey-titleword-length' characters (abort only after |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1077 a consonant or at a word end). |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1078 11. Build the title part of the key by concatenating all abbreviated |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1079 title words with the string `bibtex-autokey-titleword-separator' |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1080 between any two. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1081 12. At least, to get the key, concatenate the name part, the year part |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1082 and the title part with `bibtex-autokey-name-year-separator' |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1083 between the name and the year if both are non-empty and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1084 `bibtex-autokey-year-title-separator' between the year and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1085 the title if both are non-empty." |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1086 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1087 (let* ((pnt (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1088 (min |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1089 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1090 (bibtex-beginning-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1091 (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1092 (max |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1093 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1094 (bibtex-end-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1095 (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1096 (namefield |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1097 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1098 (goto-char min) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1099 (if (or |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1100 (re-search-forward "^[ \t]*author[ \t]*=" max t) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1101 (re-search-forward "^[ \t]*editor[ \t]*=" max t)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1102 (let* (bibtex-help-message |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1103 (start (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1104 (bibtex-find-text t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1105 (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1106 (end (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1107 (bibtex-find-text nil) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1108 (point)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1109 (bibtex-autokey-change |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1110 (buffer-substring-no-properties start end) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1111 bibtex-autokey-name-change-strings)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1112 ""))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1113 (namelist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1114 (mapcar |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1115 (function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1116 (lambda (fullname) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1117 (bibtex-autokey-abbrev |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1118 (if (string-match "," fullname) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1119 (substring fullname 0 (match-beginning 0)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1120 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1121 (if (string-match " [^ ]*$" fullname) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1122 (substring |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1123 fullname (1+ (match-beginning 0))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1124 fullname))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1125 bibtex-autokey-name-length))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1126 ;; Gather all names into a list |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1127 (let (names |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1128 (counter 0)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1129 (while (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1130 (not (equal namefield "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1131 (or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1132 (not (numberp bibtex-autokey-names)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1133 (< counter bibtex-autokey-names))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1134 (if (string-match " and " namefield) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1135 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1136 (setq |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1137 names |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1138 (append names |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1139 (list |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1140 (downcase |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1141 (substring |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1142 namefield 0 (match-beginning 0))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1143 namefield |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1144 (substring namefield (match-end 0)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1145 (setq names |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1146 (append names (list (downcase namefield))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1147 namefield "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1148 (setq counter (1+ counter))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1149 names))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1150 (namepart (mapconcat (function (lambda (name) name)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1151 namelist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1152 bibtex-autokey-name-separator)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1153 (yearfield |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1154 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1155 (goto-char min) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1156 (if (re-search-forward |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1157 "^[ \t]*year[ \t]*=[ \t]*\\([0-9]*\\)" max t) |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1158 (buffer-substring-no-properties |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1159 (match-beginning 1) (match-end 1)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1160 ""))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1161 (yearpart |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1162 (if (equal yearfield "") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1163 "" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1164 (substring yearfield |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1165 (- (length yearfield) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1166 bibtex-autokey-year-length)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1167 (titlestring |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1168 (let ((case-fold-search t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1169 (titlefield |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1170 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1171 (goto-char min) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1172 (if (re-search-forward |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1173 "^[ \t]*title[ \t]*=" max t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1174 (let* (bibtex-help-message |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1175 (start (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1176 (bibtex-find-text t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1177 (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1178 (end (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1179 (bibtex-find-text nil) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1180 (point)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1181 (bibtex-autokey-change |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1182 (buffer-substring-no-properties start end) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1183 bibtex-autokey-titleword-change-strings)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1184 ""))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1185 case-fold-search |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1186 (index 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1187 (numberofitems |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1188 (length bibtex-autokey-title-terminators))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1189 (while (< index numberofitems) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1190 (if (string-match |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1191 (elt bibtex-autokey-title-terminators index) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1192 titlefield) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1193 (setq titlefield |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1194 (substring titlefield 0 (match-beginning 0)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1195 (setq index (1+ index))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1196 titlefield)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1197 (titlelist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1198 (mapcar |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1199 (function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1200 (lambda (titleword) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1201 (let ((abbrev |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1202 (assoc-of-regexp |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1203 titleword bibtex-autokey-titleword-abbrevs))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1204 (if abbrev |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1205 (elt abbrev 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1206 (bibtex-autokey-abbrev |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1207 titleword |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1208 bibtex-autokey-titleword-length))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1209 ;; Gather all titlewords into a list |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1210 (let (titlewords |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1211 titlewords-extra |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1212 case-fold-search |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1213 (counter 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1214 (first t)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1215 (while (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1216 (not (equal titlestring "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1217 (or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1218 (not (numberp bibtex-autokey-titlewords)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1219 (< counter (+ |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1220 bibtex-autokey-titlewords |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1221 bibtex-autokey-titlewords-stretch)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1222 (if (string-match "\\b[A-Z][A-Za-z0-9]*" titlestring) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1223 (let* ((end-match (match-end 0)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1224 (titleword |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1225 (downcase (substring titlestring |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1226 (match-beginning 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1227 end-match)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1228 (if (or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1229 (not (numberp bibtex-autokey-titlewords)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1230 (< counter bibtex-autokey-titlewords)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1231 (if (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1232 first |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1233 (member-of-regexp |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1234 titleword |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1235 bibtex-autokey-titleword-first-ignore)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1236 (setq counter -1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1237 (setq titlewords |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1238 (append titlewords (list titleword)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1239 (setq |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1240 titlewords-extra |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1241 (append titlewords-extra (list titleword)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1242 (setq titlestring |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1243 (substring titlestring end-match))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1244 (setq titlestring "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1245 (setq first nil |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1246 counter (1+ counter))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1247 (if (string-match "\\b[A-Z][^ ]*\\b" titlestring) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1248 titlewords |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1249 (append titlewords titlewords-extra))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1250 (titlepart (mapconcat (function (lambda (name) name)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1251 titlelist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1252 bibtex-autokey-titleword-separator)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1253 (autokey |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1254 (concat |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1255 namepart |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1256 (if (not |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1257 (or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1258 (equal namepart "") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1259 (equal yearpart ""))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1260 bibtex-autokey-name-year-separator) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1261 yearpart |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1262 (if (not |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1263 (or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1264 (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1265 (equal namepart "") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1266 (equal yearpart "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1267 (equal titlepart ""))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1268 bibtex-autokey-year-title-separator) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1269 titlepart))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1270 (goto-char pnt) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1271 autokey)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1272 |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1273 (defun bibtex-parse-keys (add &optional abortable) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1274 ;; Sets bibtex-keys to the keys used in the whole (possibly |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1275 ;; restricted) buffer (either as entry keys or as crossref entries). |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1276 ;; If ADD is non-nil adds the new keys to bibtex-keys instead of |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1277 ;; simply resetting it. If ABORTABLE is non-nil abort on user input. |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1278 (if bibtex-maintain-sorted-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1279 (let ((labels (if add |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1280 bibtex-keys)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1281 label |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1282 (case-fold-search t)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1283 (save-excursion |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1284 (goto-char (point-min)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1285 (if (not add) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1286 (message "Parsing reference keys...")) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1287 |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1288 (if (not |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1289 (catch 'userkey |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1290 (while |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1291 (re-search-forward |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1292 (concat |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1293 "\\(" bibtex-reference-head "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1294 "\\|" |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1295 "\\(" |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1296 "^[ \t]*crossref[ \t\n]*=[ \t\n]*" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1297 "\\(" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1298 "\\({" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1299 bibtex-reference-key |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1300 ;; every valid crossref entry must have the |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1301 ;; form of a reference key, so we need no |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1302 ;; nesting of brace etc. here |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1303 "}\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1304 "\\|" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1305 "\\(\"" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1306 bibtex-reference-key |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1307 "\"\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1308 "\\)" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1309 ",?$" |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1310 "\\)") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1311 nil t) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1312 (if (and |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1313 abortable |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1314 (input-pending-p)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1315 (throw 'userkey t)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1316 (if (match-beginning (1+ bibtex-key-in-head)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1317 (setq |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1318 label |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1319 (buffer-substring-no-properties |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1320 (match-beginning (1+ bibtex-key-in-head)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1321 (match-end (1+ bibtex-key-in-head)))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1322 (setq |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1323 label |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1324 (buffer-substring-no-properties |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1325 (1+ (match-beginning (+ 3 bibtex-key-in-head))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1326 (1- (match-end (+ 3 bibtex-key-in-head)))))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1327 (if (not (assoc label labels)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1328 (setq labels |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1329 (cons (list label) labels)))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1330 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1331 (setq |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1332 bibtex-buffer-last-parsed-for-keys-tick |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1333 (buffer-modified-tick)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1334 (if (not add) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1335 (message "Parsing reference keys... done")) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1336 (setq bibtex-keys labels))))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1337 |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1338 (defun bibtex-auto-fill-function () |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1339 (let ((fill-prefix (make-string (+ bibtex-text-alignment 1) ? ))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1340 (do-auto-fill))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1341 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1342 |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1343 ;; Interactive Functions: |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1344 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1345 ;;;###autoload |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1346 (defun bibtex-mode () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1347 "Major mode for editing BibTeX files. |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1348 To submit a problem report, enter `\\[bibtex-submit-bug-report]' from a |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1349 bibtex-mode buffer. This automatically sets up a mail buffer with |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1350 version information already added. You just need to add a description |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1351 of the problem, including a reproducable test case and send the |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1352 message. |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1353 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1354 \\{bibtex-mode-map} |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1355 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1356 A command such as \\[bibtex-Book] will outline the fields for a BibTeX book entry. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1357 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1358 The optional fields start with the string OPT, and thus ignored by BibTeX. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1359 The OPT string may be removed from a field with \\[bibtex-remove-OPT]. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1360 \\[bibtex-kill-optional-field] kills the current optional field entirely. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1361 \\[bibtex-remove-double-quotes-or-braces] removes the double-quotes or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1362 braces around the text of the current field. \\[bibtex-empty-field] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1363 replaces the text of the current field with the default \"\" or {}. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1364 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1365 The command \\[bibtex-clean-entry] cleans the current entry, i.e. (i) removes |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1366 double-quotes or braces from entirely numerical fields, (ii) removes |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1367 OPT from all non-empty optional fields, (iii) removes all empty |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1368 optional fields, and (iv) checks that no non-optional fields are empty. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1369 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1370 Use \\[bibtex-find-text] to position the cursor at the end of the current field. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1371 Use \\[bibtex-next-field] to move to end of the next field. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1372 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1373 The following may be of interest as well: |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1374 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1375 Functions: |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1376 bibtex-entry |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1377 bibtex-print-help-message |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1378 bibtex-beginning-of-entry |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1379 bibtex-end-of-entry |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1380 bibtex-ispell-abstract |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1381 bibtex-narrow-to-entry |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1382 bibtex-hide-entry-bodies |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1383 bibtex-sort-entries |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1384 bibtex-validate-buffer |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1385 bibtex-pop-previous |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1386 bibtex-pop-next |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1387 bibtex-complete-string |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1388 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1389 Variables: |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1390 bibtex-field-left-delimiter |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1391 bibtex-field-right-delimiter |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1392 bibtex-include-OPTcrossref |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1393 bibtex-include-OPTkey |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1394 bibtex-include-OPTannote |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1395 bibtex-mode-user-optional-fields |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1396 bibtex-clean-entry-zap-empty-opts |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1397 bibtex-sort-ignore-string-entries |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1398 bibtex-maintain-sorted-entries |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1399 bibtex-entry-field-alist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1400 bibtex-predefined-strings |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1401 bibtex-string-files |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1402 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1403 --------------------------------------------------------- |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1404 Entry to this mode calls the value of bibtex-mode-hook if that value is |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1405 non-nil." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1406 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1407 (kill-all-local-variables) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1408 (use-local-map bibtex-mode-map) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1409 (setq major-mode 'bibtex-mode) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1410 (setq mode-name "BibTeX") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1411 (set-syntax-table bibtex-mode-syntax-table) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1412 (setq bibtex-completion-candidates bibtex-predefined-strings) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1413 (mapcar |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1414 (function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1415 (lambda (filename) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1416 ;; collect pathnames |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1417 (let* ((bib (getenv "BIBINPUTS")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1418 (path (if bib |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1419 bib |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1420 ".")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1421 (dirs |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1422 (mapcar |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1423 (function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1424 (lambda (dirname) ;; strips off trailing slashes |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1425 (let ((len (length dirname))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1426 (if (equal (elt dirname (1- len)) "/") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1427 (substring dirname 0 (1- (1- len))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1428 dirname)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1429 (let (actdirs) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1430 (while (string-match ":" path) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1431 (setq actdirs |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1432 (append actdirs |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1433 (list (substring |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1434 path 0 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1435 (1- (match-end 0))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1436 path (substring path (match-end 0)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1437 (append actdirs (list path))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1438 (filename (if (string-match "\.bib$" filename) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1439 filename |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1440 (concat filename ".bib"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1441 fullfilename |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1442 (item 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1443 (size (length dirs))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1444 ;; test filenames |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1445 (while (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1446 (< item size) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1447 (not (file-readable-p |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1448 (setq fullfilename |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1449 (concat (elt dirs item) "/" filename))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1450 (setq item (1+ item))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1451 (if (< item size) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1452 ;; file was found |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1453 (let ((curbuf (current-buffer)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1454 (bufname (make-temp-name "")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1455 (compl bibtex-completion-candidates)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1456 (create-file-buffer bufname) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1457 (set-buffer bufname) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1458 (insert-file-contents fullfilename) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1459 (goto-char (point-min)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1460 (while (re-search-forward bibtex-string nil t) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1461 (setq |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1462 compl |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1463 (append |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1464 compl |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1465 (list |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1466 (list (buffer-substring-no-properties |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1467 (match-beginning bibtex-key-in-string) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1468 (match-end bibtex-key-in-string))))))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1469 (kill-buffer bufname) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1470 (set-buffer curbuf) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1471 (setq bibtex-completion-candidates compl)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1472 (error "File %s not in $BIBINPUTS paths" filename))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1473 bibtex-string-files) |
15637
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
1474 (run-with-idle-timer |
405b1ecbf8ba
(bibtex-reference-head): Allow spaces and tabs between
Karl Heuer <kwzh@gnu.org>
parents:
15565
diff
changeset
|
1475 bibtex-parse-keys-timeout bibtex-parse-keys-timeout |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1476 (function |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1477 (lambda () |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1478 (if (and |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1479 bibtex-maintain-sorted-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1480 (eq major-mode 'bibtex-mode) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1481 (not |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1482 (eq (buffer-modified-tick) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1483 bibtex-buffer-last-parsed-for-keys-tick))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1484 (bibtex-parse-keys nil t))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1485 (bibtex-parse-keys nil) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1486 (make-local-variable 'paragraph-start) |
10869
b8e678e5c4de
(bibtex-mode): Remove ^ from paragraph-start.
Boris Goldowsky <boris@gnu.org>
parents:
10353
diff
changeset
|
1487 (setq paragraph-start "[ \f\n\t]*$") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1488 (make-local-variable 'comment-start) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1489 (setq comment-start "%") |
15852
8d8800822c78
(bibtex-mode): Set normal-auto-fill-function locally;
Richard M. Stallman <rms@gnu.org>
parents:
15637
diff
changeset
|
1490 (make-local-variable 'normal-auto-fill-function) |
8d8800822c78
(bibtex-mode): Set normal-auto-fill-function locally;
Richard M. Stallman <rms@gnu.org>
parents:
15637
diff
changeset
|
1491 (setq normal-auto-fill-function 'bibtex-auto-fill-function) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1492 (set (make-local-variable 'font-lock-defaults) |
14193
649ead749232
(bibtex-font-lock-keywords, bibtex-mode):
Richard M. Stallman <rms@gnu.org>
parents:
14169
diff
changeset
|
1493 '(bibtex-font-lock-keywords |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1494 nil t ((?$ . "\"") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1495 ;; Mathematical expressions should be fontified as strings |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1496 (?\" . ".") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1497 ;; Quotes are field delimiters and quote-delimited |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1498 ;; entries should be fontified in the same way as |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1499 ;; brace-delimited ones |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1500 ))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1501 (run-hooks 'bibtex-mode-hook)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1502 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1503 (defun bibtex-submit-bug-report () |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1504 "Submit via mail a bug report on bibtex.el." |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1505 (interactive) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1506 (if (y-or-n-p "Do you want to submit a bug report on BibTeX mode? ") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1507 (progn |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1508 (require 'reporter) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1509 (let ((reporter-prompt-for-summary-p t)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1510 (reporter-submit-bug-report |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1511 bibtex-maintainer-address |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1512 "bibtex.el" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1513 (list |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1514 'system-configuration |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1515 'system-configuration-options |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1516 'bibtex-sort-ignore-string-entries |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1517 'bibtex-maintain-sorted-entries |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1518 'bibtex-field-left-delimiter |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1519 'bibtex-field-right-delimiter |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1520 ;; Possible sorting and parsing bugs |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1521 'bibtex-mode-user-optional-fields |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1522 ;; Possible format error |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1523 'bibtex-predefined-strings |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1524 'bibtex-string-files |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1525 ;; Possible format error |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1526 'bibtex-font-lock-keywords |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1527 ;; Possible bugs regarding fontlocking |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1528 'bibtex-autokey-names |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1529 'bibtex-autokey-name-change-strings |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1530 'bibtex-autokey-name-length |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1531 'bibtex-autokey-name-separator |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1532 'bibtex-autokey-year-length |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1533 'bibtex-autokey-titlewords |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1534 'bibtex-autokey-title-terminators |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1535 'bibtex-autokey-titlewords-stretch |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1536 'bibtex-autokey-titleword-first-ignore |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1537 'bibtex-autokey-titleword-abbrevs |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1538 'bibtex-autokey-titleword-change-strings |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1539 'bibtex-autokey-titleword-length |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1540 'bibtex-autokey-titleword-separator |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1541 'bibtex-autokey-name-year-separator |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1542 'bibtex-autokey-year-title-separator |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1543 'bibtex-autokey-edit-before-use |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1544 ;; Possible bugs regarding automatic labels |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1545 'bibtex-entry-field-alist |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1546 ;; Possible format error |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1547 'bibtex-help-message |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1548 'bibtex-include-OPTcrossref |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1549 'bibtex-include-OPTkey |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1550 'bibtex-include-OPTannote |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1551 'bibtex-clean-entry-zap-empty-opts |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1552 ;; User variables which shouldn't cause any errors |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1553 ) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1554 nil nil |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1555 (concat "Hi Stefan, |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1556 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1557 I want to report a bug on Emacs BibTeX mode. |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1558 I've read the `Bugs' section in the `Emacs' info page, so I know how |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1559 to make a clear and unambiguous report. I have started a fresh Emacs |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1560 via `"invocation-name " --no-init-file --no-site-file', thereafter (in |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1561 case I'm reporting on a version of `bibtex.el' which is not part of |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1562 the standard emacs distribution) I loaded the questionable version |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1563 of `bibtex.el' with `M-x load-file', and then, to produce the buggy |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1564 behaviour, I did the following:"))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1565 (message nil)))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1566 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1567 (defun bibtex-entry (entry-type &optional required optional) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1568 "Inserts a new BibTeX entry. |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1569 Calls the value of bibtex-add-entry-hook if that value is non-nil." |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1570 (interactive (let* ((completion-ignore-case t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1571 (e-t (completing-read |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1572 "Entry Type: " |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1573 bibtex-entry-field-alist |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1574 nil t))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1575 (list e-t))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1576 (if (and (null required) (null optional)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1577 (let* ((e (assoc-ignore-case entry-type bibtex-entry-field-alist)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1578 (r-n-o (elt e 1)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1579 (c-ref (elt e 2))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1580 (if (null e) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1581 (error "Bibtex entry type %s not defined!" entry-type)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1582 (if (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1583 (member entry-type bibtex-include-OPTcrossref) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1584 c-ref) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1585 (setq required (elt c-ref 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1586 optional (elt c-ref 1)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1587 (setq required (elt r-n-o 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1588 optional (elt r-n-o 1))))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1589 (let ((key |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1590 (if bibtex-maintain-sorted-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1591 (completing-read |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1592 (format "%s key: " entry-type) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1593 bibtex-keys)))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1594 (if bibtex-maintain-sorted-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1595 (bibtex-find-entry-location key) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1596 (bibtex-move-outside-of-entry)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1597 (insert "@" entry-type "{") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1598 (if key |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1599 (insert key)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1600 (save-excursion |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1601 (mapcar 'bibtex-make-field required) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1602 (if (member entry-type bibtex-include-OPTcrossref) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1603 (bibtex-make-optional-field '("crossref"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1604 (if bibtex-include-OPTkey |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1605 (bibtex-make-optional-field '("key"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1606 (mapcar 'bibtex-make-optional-field optional) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1607 (mapcar 'bibtex-make-optional-field |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1608 bibtex-mode-user-optional-fields) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1609 (if bibtex-include-OPTannote |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1610 (bibtex-make-optional-field '("annote"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1611 (insert "\n}\n\n")) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1612 (bibtex-next-field t) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1613 (run-hooks 'bibtex-add-entry-hook))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1614 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1615 (defun bibtex-print-help-message () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1616 "Prints helpful information about current field in current BibTeX entry." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1617 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1618 (let* ((pnt (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1619 (field-name |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1620 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1621 (beginning-of-line) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1622 (condition-case errname |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1623 (bibtex-enclosing-regexp bibtex-field) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1624 (search-failed |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1625 (goto-char pnt) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1626 (error "Not on BibTeX field"))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1627 (let ((mb (match-beginning bibtex-name-in-field)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1628 (me (match-end bibtex-name-in-field))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1629 (goto-char mb) |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1630 (buffer-substring-no-properties |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1631 (if (looking-at "OPT") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1632 (+ 3 mb) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1633 mb) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1634 me)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1635 (reference-type |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1636 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1637 (re-search-backward |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1638 bibtex-reference-maybe-empty-head nil t) |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1639 (buffer-substring-no-properties |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1640 (1+ (match-beginning bibtex-type-in-head)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1641 (match-end bibtex-type-in-head)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1642 (entry-list |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1643 (assoc-ignore-case reference-type |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1644 bibtex-entry-field-alist)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1645 (c-r-list (elt entry-list 2)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1646 (req-opt-list |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1647 (if (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1648 (member reference-type bibtex-include-OPTcrossref) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1649 c-r-list) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1650 c-r-list |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1651 (elt entry-list 1))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1652 (list-of-entries (append |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1653 (elt req-opt-list 0) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1654 (elt req-opt-list 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1655 bibtex-mode-user-optional-fields |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1656 (if (member |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1657 reference-type |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1658 bibtex-include-OPTcrossref) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1659 '(("crossref" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1660 "Label of the crossreferenced entry"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1661 (if bibtex-include-OPTannote |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1662 '(("annote" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1663 "Personal annotation (ignored)"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1664 (if bibtex-include-OPTkey |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1665 '(("key" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1666 "Key used for label creation if author and editor fields are missing")))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1667 (goto-char pnt) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1668 (let ((comment (assoc-ignore-case field-name list-of-entries))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1669 (if comment |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1670 (message (elt comment 1)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1671 (message "NO COMMENT AVAILABLE"))))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1672 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1673 (defun bibtex-make-field (e-t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1674 "Makes a field named E-T in current BibTeX entry." |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1675 (interactive "sBibTeX field name: ") |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1676 (let ((name (if (consp e-t) |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1677 (elt e-t 0) |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
1678 e-t))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1679 (if (interactive-p) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1680 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1681 (bibtex-find-text nil) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1682 (if (looking-at "[}\"]") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1683 (forward-char 1)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1684 (insert ",\n") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1685 (indent-to-column bibtex-name-alignment) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1686 (insert name " = ") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1687 (indent-to-column bibtex-text-alignment) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1688 (insert bibtex-field-left-delimiter bibtex-field-right-delimiter) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1689 (if (interactive-p) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1690 (forward-char -1)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1691 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1692 (defun bibtex-make-optional-field (e-t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1693 "Makes an optional field named E-T in current BibTeX entry." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1694 (if (consp e-t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1695 (setq e-t (cons (concat "OPT" (car e-t)) (cdr e-t))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1696 (setq e-t (concat "OPT" e-t))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1697 (bibtex-make-field e-t)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1698 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1699 (defun bibtex-beginning-of-entry () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1700 "Move to beginning of BibTeX entry. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1701 If inside an entry, move to the beginning of it, otherwise move to the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1702 beginning of the previous entry." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1703 (interactive) |
11373
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1704 (if (looking-at "^@") |
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1705 (forward-char)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1706 (re-search-backward "^@" nil 'move)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1707 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1708 (defun bibtex-end-of-entry () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1709 "Move to end of BibTeX entry. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1710 If inside an entry, move to the end of it, otherwise move to the end |
11373
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1711 of the previous entry." |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1712 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1713 (bibtex-beginning-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1714 (let ((parse-sexp-ignore-comments t)) |
11373
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1715 (forward-sexp 2) ;; skip entry type and body |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1716 )) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1717 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1718 (defun bibtex-ispell-entry () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1719 "Spell whole BibTeX entry." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1720 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1721 (ispell-region (progn (bibtex-beginning-of-entry) (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1722 (progn (bibtex-end-of-entry) (point)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1723 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1724 (defun bibtex-ispell-abstract () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1725 "Spell abstract of BibTeX entry." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1726 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1727 (let ((pnt (bibtex-end-of-entry))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1728 (bibtex-beginning-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1729 (if (null |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1730 (re-search-forward "^[ \t]*[OPT]*abstract[ \t]*=" pnt)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1731 (error "No abstract in entry."))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1732 (ispell-region (point) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1733 (save-excursion (forward-sexp) (point)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1734 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1735 (defun bibtex-narrow-to-entry () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1736 "Narrow buffer to current BibTeX entry." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1737 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1738 (save-excursion |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1739 (narrow-to-region (progn (bibtex-beginning-of-entry) (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1740 (progn (bibtex-end-of-entry) (point))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1741 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1742 (defun bibtex-hide-entry-bodies (&optional arg) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1743 "Hide all lines between first and last BibTeX entries not beginning with @. |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1744 With argument, show all text." |
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1745 (interactive "P") |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1746 (save-excursion |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1747 (beginning-of-first-bibtex-entry) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1748 ;; subst-char-in-region modifies the buffer, despite what the |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1749 ;; documentation says... |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1750 (let ((modifiedp (buffer-modified-p)) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1751 (buffer-read-only nil)) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1752 (if arg |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1753 (subst-char-in-region (point) (point-max) ?\r ?\n t) |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1754 (while (save-excursion (re-search-forward "\n[^@]" (point-max) t)) |
5309
dc1a3f9ea36d
(hide-bibtex-entry-bodies): Don't use replace-regexp.
Richard M. Stallman <rms@gnu.org>
parents:
4611
diff
changeset
|
1755 ;; (save-excursion (replace-regexp "\n\\([^@]\\)" "\r\\1")) |
dc1a3f9ea36d
(hide-bibtex-entry-bodies): Don't use replace-regexp.
Richard M. Stallman <rms@gnu.org>
parents:
4611
diff
changeset
|
1756 (save-excursion |
dc1a3f9ea36d
(hide-bibtex-entry-bodies): Don't use replace-regexp.
Richard M. Stallman <rms@gnu.org>
parents:
4611
diff
changeset
|
1757 (while (re-search-forward "\n\\([^@]\\)" nil t) |
dc1a3f9ea36d
(hide-bibtex-entry-bodies): Don't use replace-regexp.
Richard M. Stallman <rms@gnu.org>
parents:
4611
diff
changeset
|
1758 (replace-match "\r\\1" nil nil))))) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1759 (setq selective-display (not arg)) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1760 (set-buffer-modified-p modifiedp)))) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1761 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1762 (defun bibtex-sort-entries () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1763 "Sort BibTeX entries alphabetically by key. |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1764 Text outside of BibTeX entries is not affected. If |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1765 bibtex-sort-ignore-string-entries is non-nil, @string entries will be |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1766 ignored." |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1767 (interactive) |
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1768 (save-restriction |
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1769 (beginning-of-first-bibtex-entry) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1770 (narrow-to-region |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1771 (point) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1772 (save-excursion |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1773 (goto-char (point-max)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1774 (bibtex-end-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1775 (point))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1776 (if bibtex-sort-ignore-string-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1777 (if (re-search-forward bibtex-reference nil 'move) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1778 (goto-char (match-beginning 0)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1779 (sort-subr |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1780 nil |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1781 ;; NEXTREC function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1782 (function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1783 (lambda () |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1784 (if bibtex-sort-ignore-string-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1785 (if (re-search-forward bibtex-reference nil 'move) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1786 (goto-char (match-beginning 0))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1787 (if (re-search-forward bibtex-reference-head nil 'move) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1788 (goto-char (match-beginning 0)))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1789 ;; ENDREC function |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1790 'bibtex-end-of-entry |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1791 ;; STARTKEY function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1792 (function |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1793 (lambda () |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1794 (if bibtex-sort-ignore-string-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1795 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1796 (re-search-forward bibtex-reference) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1797 (buffer-substring-no-properties |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1798 (match-beginning bibtex-key-in-reference) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1799 (match-end bibtex-key-in-reference))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1800 (re-search-forward bibtex-reference-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1801 (buffer-substring-no-properties |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1802 (match-beginning bibtex-key-in-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1803 (match-end bibtex-key-in-head))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1804 ;; ENDKEY function |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1805 nil))) |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1806 |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1807 (defun bibtex-find-entry-location (entry-name &optional ignore-dups) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1808 "Looking for place to put the BibTeX entry named ENTRY-NAME. |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1809 Performs a binary search (therefore, buffer is assumed to be in sorted |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1810 order, without duplicates (see \\[bibtex-validate-buffer]), if it is |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1811 not, bibtex-find-entry-location will fail). If entry-name is already |
13968
cc71d8efd948
(bibtex-generate-autokey, bibtex-find-entry-location):
Karl Heuer <kwzh@gnu.org>
parents:
13728
diff
changeset
|
1812 used as a reference key, an error is signaled. However, if optional |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1813 variable IGNORE-DUPS is non-nil, no error messages about duplicate |
13968
cc71d8efd948
(bibtex-generate-autokey, bibtex-find-entry-location):
Karl Heuer <kwzh@gnu.org>
parents:
13728
diff
changeset
|
1814 entries are signaled, but the error handling is assumed to be made in |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1815 the calling function. Nil is returned, if an duplicate entry error |
13968
cc71d8efd948
(bibtex-generate-autokey, bibtex-find-entry-location):
Karl Heuer <kwzh@gnu.org>
parents:
13728
diff
changeset
|
1816 occurred, and t in all other cases." |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1817 (let* ((left |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1818 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1819 (beginning-of-first-bibtex-entry) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1820 (if bibtex-sort-ignore-string-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1821 (re-search-forward bibtex-reference nil `move) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1822 (bibtex-end-of-entry)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1823 (point))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1824 (right |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1825 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1826 (goto-char (point-max)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1827 (if bibtex-sort-ignore-string-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1828 (re-search-backward bibtex-reference nil `move) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1829 (bibtex-beginning-of-entry)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1830 (point))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1831 actual-point |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1832 actual-key |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1833 (done (>= left right)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1834 new |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1835 dup) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1836 (while (not done) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1837 (setq actual-point (/ (+ left right) 2)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1838 (goto-char actual-point) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1839 (bibtex-beginning-of-entry) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1840 (setq actual-key |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1841 (if bibtex-sort-ignore-string-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1842 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1843 (re-search-forward bibtex-reference) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1844 (buffer-substring-no-properties |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1845 (match-beginning bibtex-key-in-reference) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1846 (match-end bibtex-key-in-reference))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1847 (re-search-forward bibtex-reference-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1848 (buffer-substring-no-properties |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1849 (match-beginning bibtex-key-in-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1850 (match-end bibtex-key-in-head)))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1851 (cond |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1852 ((string-lessp entry-name actual-key) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1853 (setq new (match-beginning 0)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1854 (if (equal right new) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1855 (setq done t) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1856 (setq right new))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1857 ((string-lessp actual-key entry-name) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1858 (setq new (match-end 0)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1859 (if (equal left new) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1860 (setq done t) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1861 (setq left new))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1862 ((string-equal actual-key entry-name) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1863 (setq dup t |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1864 done t) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1865 (if (not ignore-dups) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1866 (error "Entry with key `%s' already exists!" entry-name))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1867 (if dup |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1868 nil |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1869 (goto-char right) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1870 (if (re-search-forward bibtex-reference nil t) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1871 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1872 (setq actual-key |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1873 (buffer-substring-no-properties |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1874 (match-beginning bibtex-key-in-reference) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1875 (match-end bibtex-key-in-reference))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1876 (if (string-lessp actual-key entry-name) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1877 ;; even greater than last entry --> we must append |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1878 (progn |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1879 (goto-char (match-end 0)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1880 (newline (forward-line 2)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1881 (beginning-of-line)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1882 (goto-char right)))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1883 t))) |
257 | 1884 |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1885 (defun bibtex-validate-buffer (&optional from-point) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1886 "Validate if the current BibTeX buffer is syntactically correct. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1887 Any garbage (e.g. comments) before the first \"@\" is not tested (so |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1888 you can put comments here). |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1889 With non-nil FROM-POINT it starts with entry enclosing point." |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1890 (interactive "P") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1891 (let ((pnt (point)) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1892 (starting-point |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1893 (progn |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1894 (if from-point |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1895 (bibtex-beginning-of-entry) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1896 (beginning-of-first-bibtex-entry)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1897 (point)))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1898 ;; looking if entries fit syntactical structure |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1899 (goto-char starting-point) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1900 (while (re-search-forward "^@" nil t) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1901 (forward-char -1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1902 (let ((p (point))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1903 (if (or |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1904 (looking-at "@string") |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1905 (looking-at "@preamble")) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1906 (forward-char) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1907 (if (not (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1908 (re-search-forward bibtex-reference nil t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1909 (equal p (match-beginning 0)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1910 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1911 (goto-char p) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1912 (error "Bad entry begins here")))))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1913 ;; looking if entries are balanced (a single non-escaped quote |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1914 ;; inside braces is not detected by the former check, but |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1915 ;; bibtex-sort-entries stumbles about it |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1916 (goto-char starting-point) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1917 (map-bibtex-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1918 (function |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1919 (lambda (current) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1920 (bibtex-beginning-of-entry) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1921 (forward-sexp 2)))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1922 ;; looking for correct sort order and duplicates |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1923 (if bibtex-maintain-sorted-entries |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1924 (let (previous |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1925 point) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1926 (goto-char starting-point) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1927 (map-bibtex-entries |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1928 (function |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1929 (lambda (current) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1930 (cond ((or (null previous) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1931 (string< previous current)) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1932 (setq previous current |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1933 point (point))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1934 ((string-equal previous current) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1935 (error "Duplicate here with previous!")) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1936 (t |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
1937 (error "Entries out of order here!")))))))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1938 (goto-char pnt) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1939 (if from-point |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1940 (message "Part of BibTeX buffer starting at point is syntactically correct") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
1941 (message "BibTeX buffer is syntactically correct")))) |
257 | 1942 |
1943 (defun bibtex-next-field (arg) | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1944 "Finds end of text of next BibTeX field; with arg, to its beginning." |
257 | 1945 (interactive "P") |
1946 (bibtex-inside-field) | |
1947 (let ((start (point))) | |
1948 (condition-case () | |
1949 (progn | |
1950 (bibtex-enclosing-field) | |
1951 (goto-char (match-end 0)) | |
1952 (forward-char 2)) | |
1953 (error | |
1954 (goto-char start) | |
1955 (end-of-line) | |
1956 (forward-char 1)))) | |
1957 (bibtex-find-text arg)) | |
1958 | |
1959 (defun bibtex-find-text (arg) | |
1960 "Go to end of text of current field; with arg, go to beginning." | |
1961 (interactive "P") | |
1962 (bibtex-inside-field) | |
1963 (bibtex-enclosing-field) | |
1964 (if arg | |
1965 (progn | |
1966 (goto-char (match-beginning bibtex-text-in-field)) | |
11373
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1967 (if (looking-at "[{\"]") |
257 | 1968 (forward-char 1))) |
1969 (goto-char (match-end bibtex-text-in-field)) | |
11373
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1970 (if (or |
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1971 (= (preceding-char) ?}) |
8381a25d021e
(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Richard M. Stallman <rms@gnu.org>
parents:
10869
diff
changeset
|
1972 (= (preceding-char) ?\")) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1973 (forward-char -1))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1974 (if bibtex-help-message |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1975 (bibtex-print-help-message))) |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
662
diff
changeset
|
1976 |
257 | 1977 (defun bibtex-remove-OPT () |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1978 "Removes the 'OPT' starting optional arguments and goes to end of text." |
257 | 1979 (interactive) |
1980 (bibtex-inside-field) | |
1981 (bibtex-enclosing-field) | |
1982 (save-excursion | |
1983 (goto-char (match-beginning bibtex-name-in-field)) | |
1984 (if (looking-at "OPT") | |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1985 ;; sct@dcs.edinburgh.ac.uk |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1986 (progn |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1987 (delete-char (length "OPT")) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1988 (search-forward "=") |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1989 (delete-horizontal-space) |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
1990 (indent-to-column bibtex-text-alignment)))) |
257 | 1991 (bibtex-inside-field)) |
1992 | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1993 (defun bibtex-remove-double-quotes-or-braces () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
1994 "Removes \"\" or {} around string." |
257 | 1995 (interactive) |
1996 (save-excursion | |
1997 (bibtex-inside-field) | |
1998 (bibtex-enclosing-field) | |
1999 (let ((start (match-beginning bibtex-text-in-field)) | |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2000 (stop (match-end bibtex-text-in-field))) |
257 | 2001 (goto-char start) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2002 (while (re-search-forward bibtex-field-string stop t) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2003 (let ((beg (match-beginning 0)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2004 (end (match-end 0))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2005 (goto-char end) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2006 (forward-char -1) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2007 (if (looking-at "[}\"]") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2008 (delete-char 1)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2009 (goto-char beg) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2010 (if (looking-at "[{\"]") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2011 (delete-char 1))))))) |
257 | 2012 |
2013 (defun bibtex-kill-optional-field () | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2014 "Kill the entire enclosing optional BibTeX field." |
257 | 2015 (interactive) |
2016 (bibtex-inside-field) | |
2017 (bibtex-enclosing-field) | |
2018 (goto-char (match-beginning bibtex-name-in-field)) | |
2019 (let ((the-end (match-end 0)) | |
2020 (the-beginning (match-beginning 0))) | |
2021 (if (looking-at "OPT") | |
2022 (progn | |
2023 (goto-char the-end) | |
2024 (skip-chars-forward " \t\n,") | |
2025 (kill-region the-beginning the-end)) | |
2026 (error "Mandatory fields can't be killed")))) | |
2027 | |
2028 (defun bibtex-empty-field () | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2029 "Delete the text part of the current field, replace with empty text." |
257 | 2030 (interactive) |
2031 (bibtex-inside-field) | |
2032 (bibtex-enclosing-field) | |
2033 (goto-char (match-beginning bibtex-text-in-field)) | |
2034 (kill-region (point) (match-end bibtex-text-in-field)) | |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2035 (insert (concat bibtex-field-left-delimiter |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2036 bibtex-field-right-delimiter)) |
257 | 2037 (bibtex-find-text t)) |
2038 | |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2039 (defun bibtex-pop (arg direction) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2040 ;; generic function to be used by bibtex-pop-previous and bibtex-pop-next |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2041 (let (bibtex-help-message) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2042 (bibtex-find-text nil)) |
257 | 2043 (save-excursion |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2044 ;; parse current field |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2045 (bibtex-inside-field) |
257 | 2046 (bibtex-enclosing-field) |
2047 (let ((start-old-text (match-beginning bibtex-text-in-field)) | |
2048 (stop-old-text (match-end bibtex-text-in-field)) | |
2049 (start-name (match-beginning bibtex-name-in-field)) | |
2050 (stop-name (match-end bibtex-name-in-field)) | |
2051 (new-text)) | |
2052 (goto-char start-name) | |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2053 ;; construct regexp for field with same name as this one, |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2054 ;; ignoring possible OPT's |
257 | 2055 (let ((matching-entry |
2056 (bibtex-cfield | |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2057 (buffer-substring-no-properties (if (looking-at "OPT") |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2058 (+ (point) (length "OPT")) |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2059 (point)) |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2060 stop-name) |
257 | 2061 bibtex-field-text))) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2062 ;; if executed several times in a row, start each search where |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2063 ;; the last one was finished |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2064 (cond ((eq last-command 'bibtex-pop) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2065 t |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2066 ) |
257 | 2067 (t |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2068 (bibtex-enclosing-reference-maybe-empty-head) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2069 (setq bibtex-pop-previous-search-point (point)) |
257 | 2070 (setq bibtex-pop-next-search-point (match-end 0)))) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2071 (if (eq direction 'previous) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2072 (goto-char bibtex-pop-previous-search-point) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2073 (goto-char bibtex-pop-next-search-point)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2074 ;; Now search for arg'th previous/next similar field |
257 | 2075 (cond |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2076 ((if (eq direction 'previous) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2077 (re-search-backward matching-entry (point-min) t arg) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2078 (re-search-forward matching-entry (point-max) t arg)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2079 ;; Found a matching field. Remember boundaries. |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2080 (setq bibtex-pop-previous-search-point (match-beginning 0)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2081 (setq bibtex-pop-next-search-point (match-end 0)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2082 (setq new-text |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2083 (buffer-substring-no-properties |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2084 (match-beginning bibtex-text-in-field) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2085 (match-end bibtex-text-in-field))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2086 ;; change delimiters, if any changes needed |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2087 (let ((start 0) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2088 old-open |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2089 new-open |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2090 old-close |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2091 new-close) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2092 (if (equal bibtex-field-left-delimiter "{") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2093 (setq old-open ?\" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2094 new-open ?\{ |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2095 old-close ?\" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2096 new-close ?\}) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2097 (setq old-open ?\{ |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2098 new-open ?\" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2099 old-close ?\} |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2100 new-close ?\")) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2101 (while (string-match bibtex-field-string new-text start) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2102 (let ((beg (match-beginning 0)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2103 (end (1- (match-end 0)))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2104 (if (and |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2105 (eq (aref new-text beg) old-open) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2106 (eq (aref new-text end) old-close)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2107 (progn |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2108 (aset new-text beg new-open) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2109 (aset new-text end new-close)))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2110 (setq start (match-end 0)))) |
257 | 2111 (bibtex-flash-head) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2112 ;; Go back to where we started, delete old text, and pop new. |
257 | 2113 (goto-char stop-old-text) |
2114 (delete-region start-old-text stop-old-text) | |
2115 (insert new-text)) | |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2116 (t |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2117 ;; search failed |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2118 (error (concat "No " |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2119 (if (eq direction 'previous) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2120 "previous" |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2121 "next") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2122 " matching BibTeX field."))))))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2123 (let (bibtex-help-message) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2124 (bibtex-find-text nil)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2125 (setq this-command 'bibtex-pop)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2126 |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2127 (defun bibtex-pop-previous (arg) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2128 "Replace text of current field with the text of similar field in previous entry. |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2129 With arg, goes up ARG entries. Repeated, goes up so many times. May be |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2130 intermixed with \\[bibtex-pop-next] (bibtex-pop-next)." |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2131 (interactive "p") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2132 (bibtex-pop arg 'previous)) |
257 | 2133 |
2134 (defun bibtex-pop-next (arg) | |
2135 "Replace text of current field with the text of similar field in next entry. | |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2136 With arg, goes down ARG entries. Repeated, goes down so many times. May be |
257 | 2137 intermixed with \\[bibtex-pop-previous] (bibtex-pop-previous)." |
2138 (interactive "p") | |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2139 (bibtex-pop arg 'next)) |
257 | 2140 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2141 (defun bibtex-clean-entry (&optional arg) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2142 "Finish editing the current BibTeX entry and clean it up. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2143 For all optional fields of current BibTeX entry: if empty, kill the |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2144 whole field; otherwise, remove the \"OPT\" string in the name; if text |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2145 numerical, remove double-quotes. For all mandatory fields: if empty, |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2146 signal error. If label of entry is empty or a prefix argument was |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2147 given, calculate a new entry label." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2148 (interactive "P") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2149 (bibtex-beginning-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2150 (let ((start (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2151 crossref-there) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2152 (save-restriction |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2153 (narrow-to-region start (save-excursion (bibtex-end-of-entry) (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2154 (while (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2155 (re-search-forward bibtex-field (point-max) t 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2156 (not crossref-there)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2157 ;; determine if reference has crossref entry |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2158 (let ((begin-name (match-beginning bibtex-name-in-field)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2159 (begin-text (match-beginning bibtex-text-in-field))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2160 (goto-char begin-name) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2161 (if (looking-at "\\(OPTcrossref\\)\\|\\(crossref\\)") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2162 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2163 (goto-char begin-text) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2164 (if (not (looking-at "\\(\"\"\\)\\|\\({}\\)")) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2165 (setq crossref-there t)))))) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2166 (bibtex-enclosing-reference-maybe-empty-head) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2167 (re-search-forward bibtex-reference-type) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2168 (let ((begin-type (1+ (match-beginning 0))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2169 (end-type (match-end 0))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2170 (goto-char start) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2171 (while (re-search-forward bibtex-field (point-max) t 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2172 (let ((begin-field (match-beginning 0)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2173 (end-field (match-end 0)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2174 (begin-name (match-beginning bibtex-name-in-field)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2175 (end-name (match-end bibtex-name-in-field)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2176 (begin-text (match-beginning bibtex-text-in-field)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2177 (end-text (match-end bibtex-text-in-field)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2178 ) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2179 (goto-char begin-name) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2180 (cond ((and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2181 (looking-at "OPT") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2182 bibtex-clean-entry-zap-empty-opts) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2183 (goto-char begin-text) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2184 (if (looking-at "\\(\"\"\\)\\|\\({}\\)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2185 ;; empty: delete whole field if really optional |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2186 ;; (missing crossref handled) or complain |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2187 (if (and |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2188 (not crossref-there) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2189 (assoc |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2190 (downcase |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2191 (buffer-substring-no-properties |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2192 (+ (length "OPT") begin-name) end-name)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2193 (car (car (cdr |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2194 (assoc-ignore-case |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2195 (buffer-substring-no-properties |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2196 begin-type end-type) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2197 bibtex-entry-field-alist)))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2198 ;; field is not really optional |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2199 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2200 (goto-char begin-name) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2201 (delete-char (length "OPT")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2202 ;; make field non-OPT |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2203 (search-forward "=") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2204 (delete-horizontal-space) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2205 (indent-to-column bibtex-text-alignment) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2206 (forward-char) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2207 ;; and loop to go through next test |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2208 (error "Mandatory field ``%s'' is empty" |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2209 (buffer-substring-no-properties |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2210 begin-name |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2211 end-name))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2212 ;; field is optional |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2213 (delete-region begin-field end-field)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2214 ;; otherwise: not empty, delete "OPT" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2215 (goto-char begin-name) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2216 (delete-char (length "OPT")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2217 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2218 ;; fixup alignment. [alarson:19920309.2047CST] |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2219 (search-forward "=") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2220 (delete-horizontal-space) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2221 (indent-to-column bibtex-text-alignment)) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2222 (goto-char begin-field) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2223 ;; and loop to go through next test |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2224 )) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2225 (t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2226 (goto-char begin-text) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2227 (cond ((looking-at "\\(\"[0-9]+\"\\)\\|\\({[0-9]+}\\)") |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2228 ;; if numerical, |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2229 (goto-char end-text) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2230 (delete-char -1) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2231 (goto-char begin-text) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2232 (delete-char 1) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2233 ;; delete enclosing delimiters |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2234 (goto-char end-field) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2235 ;; go to end for next search |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2236 (forward-char -2) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2237 ;; to compensate for the 2 delimiters deleted |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2238 ) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2239 ((looking-at "\\(\"\"\\)\\|\\({}\\)") |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2240 ;; if empty field, complain |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2241 (forward-char 1) |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2242 (if (not (or (equal (buffer-substring-no-properties |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2243 begin-name |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2244 (+ begin-name 3)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2245 "OPT") |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2246 (equal (buffer-substring-no-properties |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2247 begin-name |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2248 (+ begin-name 3)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2249 "opt"))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2250 (error "Mandatory field ``%s'' is empty" |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2251 (buffer-substring-no-properties |
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2252 begin-name end-name)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2253 (t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2254 (goto-char end-field))))))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2255 (goto-char start) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2256 (bibtex-end-of-entry)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2257 (let* ((eob (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2258 (bibtex-end-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2259 (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2260 (key (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2261 (bibtex-beginning-of-entry) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2262 (if (re-search-forward |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2263 bibtex-reference-head eob t) |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2264 (buffer-substring-no-properties |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2265 (match-beginning bibtex-key-in-head) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2266 (match-end bibtex-key-in-head)))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2267 (if (or |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2268 arg |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2269 (not key)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2270 (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2271 (let ((autokey |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2272 (if bibtex-autokey-edit-before-use |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2273 (read-from-minibuffer "Key to use: " |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2274 (bibtex-generate-autokey)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2275 (bibtex-generate-autokey)))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2276 (bibtex-beginning-of-entry) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2277 (re-search-forward bibtex-reference-maybe-empty-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2278 (if (match-beginning bibtex-key-in-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2279 (delete-region (match-beginning bibtex-key-in-head) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2280 (match-end bibtex-key-in-head))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2281 (insert autokey) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2282 (let ((start (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2283 (bibtex-beginning-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2284 (point))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2285 (end (progn |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2286 (bibtex-end-of-entry) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2287 (re-search-forward "^@" nil 'move) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2288 (beginning-of-line) |
10353
363bf89a3081
(bibtex-clean-entry): Killing text while editing
Richard M. Stallman <rms@gnu.org>
parents:
10219
diff
changeset
|
2289 (point))) |
363bf89a3081
(bibtex-clean-entry): Killing text while editing
Richard M. Stallman <rms@gnu.org>
parents:
10219
diff
changeset
|
2290 last-command) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2291 (kill-region start end) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2292 (let ((success |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2293 (or |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2294 (not bibtex-maintain-sorted-entries) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2295 (bibtex-find-entry-location autokey t)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2296 (yank) |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2297 (setq kill-ring (cdr kill-ring)) |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2298 (forward-char -1) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2299 (bibtex-beginning-of-entry) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2300 (re-search-forward bibtex-reference-head) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2301 (if (not success) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2302 (error |
13728
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2303 "New inserted reference may be a duplicate.")))))))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2304 (save-excursion |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2305 (let ((start (progn (bibtex-beginning-of-entry) (point))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2306 (end (progn (bibtex-end-of-entry) (point)))) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2307 (save-restriction |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2308 (narrow-to-region start end) |
4b7903cfa7ee
(bibtex-auto-fill-function): Adapted for use with
Karl Heuer <kwzh@gnu.org>
parents:
12770
diff
changeset
|
2309 (bibtex-parse-keys t))))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2310 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2311 (defun bibtex-complete-string () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2312 "Complete word fragment before point to longest prefix of a defined string. |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2313 If point is not after the part of a word, all strings are listed." |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2314 (interactive "*") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2315 (let* ((end (point)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2316 (beg (save-excursion |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2317 (re-search-backward "[ \t{\"]") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2318 (forward-char 1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2319 (point))) |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2320 (part-of-word (buffer-substring-no-properties beg end)) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2321 (string-list (copy-sequence bibtex-completion-candidates)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2322 (case-fold-search t) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2323 (completion (save-excursion |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2324 (while (re-search-backward |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2325 bibtex-string (point-min) t) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2326 (setq string-list |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2327 (cons |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2328 (list |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2329 (buffer-substring-no-properties |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2330 (match-beginning bibtex-key-in-string) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2331 (match-end bibtex-key-in-string))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2332 string-list))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2333 (setq string-list |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2334 (sort string-list |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2335 (lambda(x y) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2336 (string-lessp |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2337 (car x) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2338 (car y))))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2339 (try-completion part-of-word string-list)))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2340 (cond ((eq completion t) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2341 ;; remove double-quotes or braces if field is no concatenation |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2342 (save-excursion |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2343 (bibtex-inside-field) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2344 (bibtex-enclosing-field) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2345 (let ((end (match-end bibtex-text-in-field))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2346 (goto-char (match-beginning bibtex-text-in-field)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2347 (if (and |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2348 (looking-at bibtex-field-string) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2349 (equal (match-end 0) end)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2350 (bibtex-remove-double-quotes-or-braces))))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2351 ((null completion) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2352 (error "Can't find completion for \"%s\"" part-of-word)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2353 ((not (string= part-of-word completion)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2354 (delete-region beg end) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2355 (insert completion) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2356 (if (assoc completion string-list) |
14789
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2357 ;; remove double-quotes or braces if field is no concatenation |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2358 (save-excursion |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2359 (bibtex-inside-field) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2360 (bibtex-enclosing-field) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2361 (let ((end (match-end bibtex-text-in-field))) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2362 (goto-char (match-beginning bibtex-text-in-field)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2363 (if (and |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2364 (looking-at bibtex-field-string) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2365 (equal (match-end 0) end)) |
d68b71228abd
(bibtex-pop): New generic function which unifies the
Richard M. Stallman <rms@gnu.org>
parents:
14410
diff
changeset
|
2366 (bibtex-remove-double-quotes-or-braces)))))) |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2367 (t |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2368 (message "Making completion list...") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2369 (let ((list (all-completions part-of-word string-list))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2370 (with-output-to-temp-buffer "*Completions*" |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2371 (display-completion-list list))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2372 (message "Making completion list...done"))))) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2373 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2374 (defun bibtex-Article () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2375 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2376 (bibtex-entry "Article")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2377 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2378 (defun bibtex-Book () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2379 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2380 (bibtex-entry "Book")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2381 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2382 (defun bibtex-Booklet () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2383 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2384 (bibtex-entry "Booklet")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2385 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2386 (defun bibtex-InBook () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2387 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2388 (bibtex-entry "InBook")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2389 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2390 (defun bibtex-InCollection () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2391 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2392 (bibtex-entry "InCollection")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2393 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2394 (defun bibtex-InProceedings () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2395 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2396 (bibtex-entry "InProceedings")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2397 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2398 (defun bibtex-Manual () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2399 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2400 (bibtex-entry "Manual")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2401 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2402 (defun bibtex-MastersThesis () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2403 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2404 (bibtex-entry "MastersThesis")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2405 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2406 (defun bibtex-Misc () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2407 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2408 (bibtex-entry "Misc")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2409 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2410 (defun bibtex-PhdThesis () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2411 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2412 (bibtex-entry "PhdThesis")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2413 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2414 (defun bibtex-Proceedings () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2415 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2416 (bibtex-entry "Proceedings")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2417 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2418 (defun bibtex-TechReport () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2419 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2420 (bibtex-entry "TechReport")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2421 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2422 (defun bibtex-Unpublished () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2423 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2424 (bibtex-entry "Unpublished")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2425 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2426 (defun bibtex-string () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2427 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2428 (bibtex-move-outside-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2429 (insert |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2430 (concat |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2431 "@string{ = " |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2432 bibtex-field-left-delimiter |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2433 bibtex-field-right-delimiter |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2434 "}\n")) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2435 (forward-line -1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2436 (forward-char 8)) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2437 |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2438 (defun bibtex-preamble () |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2439 (interactive) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2440 (bibtex-move-outside-of-entry) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2441 (insert "@Preamble{}\n") |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2442 (forward-line -1) |
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2443 (forward-char 10)) |
257 | 2444 |
2445 | |
12700
b3a8ee2da96a
Add keywords and comments as per conventions.
Richard M. Stallman <rms@gnu.org>
parents:
12028
diff
changeset
|
2446 ;; Make BibTeX a Feature |
257 | 2447 |
10219
d97313bb6f39
(bibtex-string, bibtex-preamble): Use forward-line.
Richard M. Stallman <rms@gnu.org>
parents:
10106
diff
changeset
|
2448 (provide 'bibtex) |
2602
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
2449 |
2465861025cd
Installed Aaron Larson's new bibtex.el. See the header comment for
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
2450 ;;; bibtex.el ends here |