-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
218 lines (143 loc) · 7.84 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
An -*- outline -*- of the user-visible changes in CL-BibTeX
* News in version 1.1 (2018-12-04)
** Added ABCL and ECL support.
** Added support for Unicode collation on CMUCL, using libicu.
** Bugfixes.
* News in version 1.0.1 (2009-11-20)
** New feature
*** Warn when "equivalent" BibTeX entries are cited.
Large bibliographic databases which arise from the collaboration
of several people often contain multiple copies of the same entry,
using different keys. This is often hard to fix in the database,
because removing an entry breaks existing documents. When several
of these "equivalent" BibTeX entries are cited in one document
(this happens most frequently in cut-and-paste works from several
authors), the formatted bibliography will contain several copies
of the same reference.
CL-BibTeX can now help to detect and fix this situation. The
maintainer of the bibliographic database should add, to each
problematic entry, an attribute "equivalent-entries" that is a
comma-separated list of entries that should be considered
"equivalent". (The usual BibTeX styles will ignore this
attribute.) We also recommend to add a comment (or "annote"
attribute) that advises the user of the bibliographic database,
which entry to use instead of the current entry.
An example:
@article{newbar,
Author = {Barvinok, Alexander I.},
Journal = {Math. Comp.},
Number = {255},
Pages = {1449--1466},
Title = {Computing the {E}hrhart quasi-polynomial of a rational simplex},
Volume = {75},
Year = {2006},
equivalent-entries = {newbar,barvinok-2006-ehrhart-quasipolynomial}
annote = {In new documents, use the equivalent entry
barvinok-2006-ehrhart-quasipolynomial rather than this entry!}
}
CL-BibTeX computes the equivalence classes spanned by these lists
of equivalent entries. If equivalent entries are cited in one
document, CL-BibTeX will emit a warning. The user can now fix the
citations in the document.
** User interface changes
*** Signal an error on repeated entries.
Unlike the original BibTeX, errors are also signalled for repeated
entries in the database that are not used.
*** Emulate BibTeX's verbosity more thoroughly.
In particular, report which files are read; at the end of the run,
report the number and the type of errors. This makes it possible
to use CL-BibTeX as a compatible replacement for BibTeX within
AUCTeX.
*** The CL-BibTeX split-initials features is now on by default.
In addition, CL-BibTeX emits a warning, so the user can fix the
entries in the bibliographic database to make them work correctly
with the original BibTeX too.
** Improved BibTeX compatibility and bug fixes:
*** Properly handle abbreviating names that start with special characters
or similar. Example: "Matiyasevich, {\relax{Yu}}ri V." now gets
abbreviated to "Matiyasevich, {\relax{Yu}}. V."
*** Recognize "von" tokens in names that start with special characters.
*** BibTeX styles using the KEY attribute of bibliographic entries now work
as expected.
* News in version 1.0 (2007-08-24)
** CL-BibTeX is now released under GNU LGPL 2.1 or later
with Franz-style Lisp clarification.
** An ASDF system definition file is included.
It was contributed by Hans Halvorson.
* News in version 0.4 (2003-03-31)
** BibTeX's output line breaking mechanism has been implemented.
Printing the .bbl file is now done with the new functions BBL-PRINT
and BBL-TERPRI, which break output lines after *BBL-MAX-PRINT-LINE*
characters (the default is 79).
Output line breaking can be disabled by setting or binding
*BBL-MAX-PRINT-LINE* to nil. This can be desirable, for instance,
for formatting bibliographies that contain very long lines with
\url macros, because the comment characters (%) introduced by the
line breaking mechanism show up in the formatted URL. (However,
the real solution for the problem with \url macros is to simply
break the URLs in the bibliography file using whitespace, because
url.sty ignores whitespace when typesetting the URL.)
** The compiler now deals with WHILE$ loops with complicated data flow.
The predicate function can now pass values to the body function on
the stack. Such a WHILE$ loop gets converted to a simple LOOP form
with a RETURN call, rather than a DO form.
** The compiler now makes some variables constant.
Variables that get assigned a value exactly once (before any
reference to them) are turned into constants. This makes the
data-flow in the resulting Lisp programs clearer.
** The compiler now tries to deal with slightly broken style files.
Many BibTeX style files are slightly broken in a way such that the
stack becomes corrupted in some corner cases. The compiler cannot
analyze those functions completely.
Now, instead of giving up, the compiler tries to fix the bad stack.
This results in Lisp files that contain calls to ERROR. If the
compiler guesses right, the generated Lisp program will work as
well as the original style file; but when one of the broken corner
cases occurs, a run-time error will be signaled.
** The system now has a test-suite for testing the correctness.
** Bug fixes:
*** A bug regarding functions that return multiple values has been fixed.
The bug showed up when compiling certain style files generated
with the custom-bib system (merlin.mbs). The compiler erroneously
complained about an IF$ form with bad stack balance.
*** The compiler now coerces booleans to integers in assignments.
*** When an undefined macro is used in an entry, don't skip the whole entry.
Just emit a warning and use an empty string.
*** Some minor differences with BibTeX's output have been corrected.
There were too many tildes in some formatted names. The sort
order was sometimes wrong, due to a bug in PURIFY$. Changing the
case of a string resulted in extraneous whitespace after control words.
*** The capitalization of "foreign characters" has been corrected.
*** Crossrefs are also resolved when all entries are cited (\cite{*}).
* News in version 0.3.1 (2002-12-15)
This is a bug-fix release.
* News in version 0.3 (2002-12-15)
** The compiler now supports BibTeX macros (named strings).
** The compiler now makes some variables lexical (rather than special).
The compiler keeps track whether a variable is accessed before it
is assigned in any function. If not, we make the variable lexical
in all functions (in a second compiler pass).
This makes the translated style file more readable because the data
flow is much clearer, and many temporary assignments can be dropped.
** The compiler is more careful with respect to the package system.
Symbols that were generated from BST function names could clash
with symbols naming built-in Common Lisp functions. The compiler
now takes care to shadow all generated symbols.
** Bug fixes:
*** The interpreter and the compiler now handle empty BST function blocks { }.
*** A capitalization bug has been fixed.
* News in version 0.2 (2002-11-25)
** Nested .aux files are now handled.
** The crossref feature has been implemented.
** A model for Lisp BibTeX styles has been implemented.
A Lisp BibTeX style is a Lisp program in a file with type "lbst".
The Lisp program is supposed to define a BibTeX style using the
macro DEFINE-BIBTEX-STYLE or the function REGISTER-BIBTEX-STYLE.
The BIBTEX function first looks for already registered styles, then
it tries to find and load "lbst" files, then it tries to find and
interpret "bst" files.
The BST->CL compiler now puts all the code of a BibTeX style into a
separate package and emits a DEFINE-BIBTEX-STYLE form.
** A shell script that calls CL-BibTeX has been added.
** Portability improvements.
CL-BibTeX now works with CMUCL, SBCL 0.7.9, and CLISP 2.30.