読者です 読者をやめる 読者になる 読者になる

ねこ元帥の中の人@リウマチ

日々の覚書など。ブログ名はオンラインゲームのアカウント名をいつも「ねこ元帥」にしているから。そして、2013年11月リウマチと診断されたとです。(2012年11月から時々手足に原因不明の痛みが発生、2013年9月以降は足の痛みが常態化、2013年12月30日からMTX服用開始、4月過ぎるころにはわずかの痛みが残る程度まで回復して現在に至る。)

Sphinxエラー調査

以下のエラーが発生する。

$ make latex
$ cd build/latex
$ make all-pdf-ja
≪省略≫
for f in *.idx; do mendex -U -f -d "`basename $f .idx`.dic" -s python.ist $f; done
This is mendex version 2.6f [14-Aug-2009] (utf8.euc).
Warning: Couldn't find dictionary file DOCTEST.dic.
Scanning input file DOCTEST.idx....done (0 entries accepted, 0 rejected).
0 entries accepted, 0 rejected.
Nothing written in output file.
make: *** [all-pdf-ja] エラー 255


Makefileのターゲット内容は以下のようになっている。

all-pdf-ja:
        for f in *.pdf *.png *.gif *.jpg *.jpeg; do ebb $$f; done
        for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
        for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
        for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
        for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done
        for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
        for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
        for f in *.dvi; do dvipdfmx $$f; done


コマンド実行時にWarning出ているだけだが、実行結果がエラーになっている可能性も考えられるため確認してみた。
以下の通り、テスト用のシェルスクリプトを実行して実行結果を確認した。

$ vi test.sh
#!/bin/sh
mendex -U -f -d DOCTEST.dic -s python.ist DOCTEST.idx
if [ "$?" -eq 0 ]
then
    echo 'SUCCESS'
else
    echo 'FAILURE'
fi


結果は以下の通りで、エラーになっていることが分かった。

$ sh test.sh
This is mendex version 2.6f [14-Aug-2009] (utf8.euc).
Warning: Couldn't find dictionary file DOCTEST.dic.
Scanning input file DOCTEST.idx....done (0 entries accepted, 0 rejected).
0 entries accepted, 0 rejected.
Nothing written in output file.
FAILURE


Makefileで実行しているターゲットは、依存関係無視でシェルスクリプトで一括処理しているだけなので、残りのコマンドを直接実行してみた。

$ platex -kanji=utf8 DOCTEST.tex
≪省略≫

$ platex -kanji=utf8 DOCTEST.tex
≪省略≫

$ dvipdfmx DOCTEST.dvi
DOCTEST.dvi -> DOCTEST.pdf
[1][2][3
** WARNING ** Object @page.i already defined.
][4
** WARNING ** Object @page.ii already defined.
][5][6][7][8][9]
14078 bytes written


PDFファイルは生成されたが、AdobeReaderで開こうとすると以下のエラーダイアログが出てフィアルを表示することができない。
「この文書を開くときにエラーが発生しました。アクセスが拒否されました。」