bibtexが動かない

bibtexが動かない

- Ha Ka の投稿
返信数: 6
bibtexでjecon.bst(https://github.com/ShiroTakeda/jecon-bst)を使っていますが、以下のファイルを実行すると無限ループのような感じになって、途中で強制終了してもblgファイルが巨大なサイズになってしまいます(すぐに数百メガになってしまいます)。

ちなみに、\bibliographystyle{plain}を使うと問題なく表示されますので、jecon.bstに問題があるのではないかと思います。

どこに原因がありそうか、ご教示いただけますでしょうか。

よろしくお願いいたします。

-------------------------------------------------------------------
\documentclass[a4paper,11pt,fleqn,openany]{article}
\begin{document}
\bibliographystyle{jecon}
%\bibliographystyle{plain}

\cite{Arellano_Bond_1991}
\bibliography{Econometrics}
\end{document}
-------------------------------------------------------------------

以下は、blgファイルの一部です。

-------------------------------------------------------------------
This is BibTeX, Version 0.99d (TeX Live 2019/W32TeX)
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
The top-level auxiliary file: 2019J-ver1.aux
The style file: jecon.bst
Reallocated glb_str_ptr (elt_size=4) to 20 items from 10.
Reallocated global_strs (elt_size=20001) to 20 items from 10.
Reallocated glb_str_end (elt_size=4) to 20 items from 10.
Reallocated singl_function (elt_size=4) to 100 items from 50.
Reallocated singl_function (elt_size=4) to 100 items from 50.
Reallocated singl_function (elt_size=4) to 100 items from 50.
Reallocated glb_str_ptr (elt_size=4) to 30 items from 20.
Reallocated global_strs (elt_size=20001) to 30 items from 20.
Reallocated glb_str_end (elt_size=4) to 30 items from 20.
is.kanji.str$ is an unknown function---line 1589 of file jecon.bst
is.kanji.str$ is an unknown function---line 1590 of file jecon.bst
is.kanji.str$ is an unknown function---line 1591 of file jecon.bst
is.kanji.str$ is an unknown function---line 1592 of file jecon.bst
Reallocated singl_function (elt_size=4) to 100 items from 50.
is.kanji.str$ is an unknown function---line 1618 of file jecon.bst
is.kanji.str$ is an unknown function---line 1678 of file jecon.bst
Reallocated wiz_functions (elt_size=4) to 6000 items from 3000.
is.kanji.str$ is an unknown function---line 2403 of file jecon.bst
is.kanji.str$ is an unknown function---line 2516 of file jecon.bst
is.kanji.str$ is an unknown function---line 2531 of file jecon.bst
is.kanji.str$ is an unknown function---line 2569 of file jecon.bst
Reallocated wiz_functions (elt_size=4) to 9000 items from 6000.
Database file #1: Econometrics.bib

(途中略)
: },
I'm skipping whatever remains of this entry
Illegal end of database file---line 23910 of file Econometrics.bib
:
:
(Error may have been on previous line)
I'm skipping whatever remains of this entry
is.kanji.str$ is an unknown function---line 3887 of file jecon.bst
is.kanji.str$ is an unknown function---line 3888 of file jecon.bst
is.kanji.str$ is an unknown function---line 3895 of file jecon.bst
is.kanji.str$ is an unknown function---line 3896 of file jecon.bst
is.kanji.str$ is an unknown function---line 3897 of file jecon.bst
is.kanji.str$ is an unknown function---line 3898 of file jecon.bst
is.kanji.str$ is an unknown function---line 3899 of file jecon.bst
is.kanji.str$ is an unknown function---line 3900 of file jecon.bst
is.kanji.str$ is an unknown function---line 3929 of file jecon.bst
is.kanji.str$ is an unknown function---line 3930 of file jecon.bst
is.kanji.str$ is an unknown function---line 3931 of file jecon.bst
is.kanji.str$ is an unknown function---line 3932 of file jecon.bst
is.kanji.str$ is an unknown function---line 3933 of file jecon.bst
is.kanji.str$ is an unknown function---line 3934 of file jecon.bst
is.kanji.str$ is an unknown function---line 3935 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3940 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3940 of file jecon.bst
"Some Tests of Specification for Panel Data: Monte Carlo Evidence and an Application to Employment Equations" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3941 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3941 of file jecon.bst
"Review of Economic Studies" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3941 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3941 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3941 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3941 of file jecon.bst
"Some Tests of Specification for Panel Data: Monte Carlo Evidence and an Application to Employment Equations" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3942 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3942 of file jecon.bst
"Review of Economic Studies" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3942 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3942 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3942 of file jecon.bst
"" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3942 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 3942 of file jecon.bst
Reallocated wiz_functions (elt_size=4) to 12000 items from 9000.
Reallocated singl_function (elt_size=4) to 100 items from 50.
Reallocated singl_function (elt_size=4) to 100 items from 50.
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 4867 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 4867 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 4867 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 4867 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 4867 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 4867 of file jecon.bst
"M. Arellano and S. Bond" is a string literal, not an integer, for entry Arellano_Bond_1991
while executing---line 4867 of file jecon.bst

以下、延々と同じメッセージ

-------------------------------------------------------------------

Ha Ka への返信

Re: bibtexが動かない

- Yamamoto Munehiro "munepi" の投稿
jecon-example.pdf の「3 使用法」に以下のように書かれています。

> 3.1 必要なもの
>  jecon.bst を利用するには,natbib.sty が必要になります.

また、.bib 中の url フィールドを利用するのであれば、 url パッケージないしは、hyperref パッケージを \usepackage すべきです。


\documentclass[a4paper,11pt,fleqn]{article}%%openanyオプションは存在しません
\usepackage{natbib}
%\usepackage{url}
%\usepackage{hyperref}%%requires url package
\begin{document}
\bibliographystyle{jecon}
%\bibliographystyle{plain}

\cite{Arellano_Bond_1991}
\bibliography{Econometrics}
\end{document}
Yamamoto Munehiro "munepi" への返信

Re: bibtexが動かない

- Ha Ka の投稿
ありがとうございます。
確認しましたが、natbib.styは以下のフォルダに入っているようです。
C:\w32tex\share\texmf-dist\tex\latex\natbib

ちなみに、jecon.bstには日本語が含まれているのですが、それは関係ありそうでしょうか?
Ha Ka への返信

Re: bibtexが動かない

- Ha Ka の投稿
日本語を含まないecon.bstにして、そのファイルをtexファイルがあるフォルダと同じところに置けば、うまくいきました。

ただ、C:\w32tex\share\texmf-dist\bibtex\bstにecon.bstを置いてもきちんと実行されません。置く場所はどのように見つければいいのでしょうか?他のフォルダもいくつか試しましたが、どれもだめでした。
Ha Ka への返信

Re: bibtexが動かない

- Yamamoto Munehiro "munepi" の投稿
Ha Ka さんがどういう目的で jecon.bst をご利用されているかも分かりませんし、何の組版エンジンを利用されているかも分かりませんので、
とりあえず、執筆されているLaTeX文章と同じディレクトリに jecon.bst を置く(つまり、({up,p})bibtex を実行する current directory に直接 jecon.bst を置く)ことで良いと思います。

jecon.bst はカスタマイズして利用できるような作りになっており、jecon.bst を読み込む LaTeX文章と同じディレクトリに置いておくほうが何かと都合が良いと思います(例:ソースなどを頒布したりする場合)。

なお、一般的に、欧文のみの bibtex でも使われることを想定している bst ファイルは、

$ kpsewhich --var-value BSTINPUTS

で出力される場所に置いておくと良いです。
また、pbibtex, upbibtex のみを前提とする bst では、それぞれ

* $ kpsewhich --progname pbibtex  --var-value BSTINPUTS
* $ kpsewhich --progname upbibtex  --var-value BSTINPUTS

の場所に置くことになります。
Ha Ka への返信

Re: bibtexが動かない

- Akira Kakuto の投稿
> C:\w32tex\share\texmf-dist\bibtex\bst
> にecon.bstを置いてもきちんと実行されません

よく忘れるのは,置いた後,
mktexlsr
コマンドを実行することです。(ls-R を使っている場合)。
置いただけでは見つかりません。
Akira Kakuto への返信

Re: bibtexが動かない

- Ha Ka の投稿
ありがとうございます!
mktexlsrコマンドをしていませんでした。前にセットアップしたのが5,6年前なのですっかり忘れていました。