summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibstrtl.html
blob: c8665ba799844bdd91d7c8411a210a71b603eda5 (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>&lsquo;String too long&rsquo; in BibTeX</h3>
<p/>The BibTeX diagnostic &ldquo;Warning&ndash;you&rsquo;ve exceeded 1000, the
<code>global-string-size</code>, for entry <code>foo</code>&rdquo; 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&rsquo;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 &mdash; <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&rsquo;s last line, which just says &ldquo;<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&rsquo;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&rsquo;t encounter
BibTeX&rsquo;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>