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
|
<head>
<title>UK TeX FAQ -- question label bibstrtl</title>
</head><body>
<h3>‘String too long’ in BibTeX</h3>
<p/>The BibTeX diagnostic “Warning–you’ve exceeded 1000, the
<code>global-string-size</code>, for entry <code>foo</code>” usually arises
from a very large abstract or annotation included in the database.
The diagnostic usually arises because of an infelicity in the coding of
<i>abstract.bst</i>, or styles derived from it. (One doesn’t
ordinarily output annotations in other styles.)
<p/>The solution is to make a copy of the style file (or get a clean copy
from CTAN — <a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/bibtools/abstract.bst">biblio/bibtex/utils/bibtools/abstract.bst</a>), and rename it (e.g., on a
long file-name system, to <i>abstract-long.bst</i>). Now edit it: find
function <code>output.nonnull</code> and
<ul>
<li> change its first line (line 60 in the version on CTAN)
from
<blockquote>
<pre>
{ 's :=
</pre>
</blockquote><p>
to
<blockquote>
<pre>
{ swap$
</pre>
</blockquote><p>
Finally,
<li> delete the function’s last line, which just says “<code>s</code>
(line 84 in the version on CTAN).
</ul>
Finally, change your <code>\</code><code>bibliographystyle</code> command to refer to the
name of the new file.
<p/>This technique applies equally to any bibliography style: the same
change can be made to any similar <code>output.nonnull</code> function.
<p/>If you’re reluctant to make this sort of change, the only way forward
is to take the entry out of the database, so that you don’t encounter
BibTeX’s limit, but you may need to retain the entry because it
will be included in the typeset document. In such cases, put the body
of the entry in a separate file:
<blockquote>
<pre>
@article{long.boring,
author = "Fred Verbose",
...
abstract = "{\input{abstracts/long.tex}}"
}
</pre>
</blockquote><p>
In this way, you arrange that all BibTeX has to deal with is the
file name, though it will tell TeX (when appropriate) to include
all the long text.
<p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibstrtl">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibstrtl</a>
</body>
|