summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-bibstrtl.html
blob: f9c6f06b3089eb3caa7dbd583876e506c447d052 (plain)
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>&#8216;String too long&#8217; in BibTeX</h3>
<p/>The BibTeX diagnostic &#8220;Warning&#8211;you&#8217;ve exceeded 1000, the
<code>global-string-size</code>, for entry <code>foo</code>&#8221; 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&#8217;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 &#8212; <a href="http://www.tex.ac.uk/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&#8217;s last line, which just says &#8220;<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&#8217;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&#8217;t encounter
BibTeX&#8217;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>