bibdeskのpreview: jplainでエラー

bibdeskのpreview: jplainでエラー

- 松本 尚輝 の投稿
返信数: 11
こんにちは。初めて質問させて頂きます。
bibdeskに関しての質問です。
bibdeskの機能のTeX Previewを使いたいのですが、previewを出すことができませんでした。
自分の環境はmacOS Montereyで、latexは奥村さんの美文書作成入門の第7版付属のDVD-ROMでダウンロードした後、texlive2021を2017を消して入れ直しています。

以下、logに出たwarning メッセージです。
/////////////////////

TeX preview generation failed. Please review the log below to determine the cause.


***** WARNING: You are using a non-standard BibTeX style *****

The style "jplain" may require additional \usepackage commands to function correctly.

/////////////////////


BiBTeX styleをjplainに変更しています。

jplainがだめなので\usepackageを足せ、とのことですが、jplainを使うために必要なpackageがわからなかったので、とりあえず\documentclassをarticle -> jarticleにしてみましたが、解決しませんでした。


/////////////////////

\documentclass[letterpaper]{jarticle}

\pagestyle{empty}

\textwidth = 6.5in

\voffset = -105pt

\hoffset = -120pt

\renewcommand{\refname}{}

\begin{document}

\nocite{<<CiteKeys>>}

\bibliography{<<File>>}

\bibliographystyle{<<Style>>}

\end{document}

/////////////////////

どなたか解決策をご存じでないですか?

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

松本 尚輝 への返信

Re: bibdeskのpreview: jplainでエラー

- 和田 勇 の投稿
  • 美文書作成入門の第7版の本はお持ちのようですが ...

以下のようにすれば問題なく作成できると思います。

検証に利用したものを添付しますので参考にしてください。

1) 文献データベース作成 (美文書7版 p189)

p189 下部に書かれている文献情報を myrefs.bib に作成

\nocite{*} などの効果がわかるように美文書7版の情報も追加しました

2) BiBTeXの実行例(美文書7版 p190-193)

 p190 中段に記載されている例を test.tex として作成

なお、p190 では jsarticle を使っていますが、お試しになった jarticle でも問題なく処理はできます。

  • 添付ファイルの内容

       adding: 2022-04-13/myrefs.bib (deflated 39%)
       adding: 2022-04-13/test.aux (deflated 32%)
       adding: 2022-04-13/test.bbl (deflated 26%)
       adding: 2022-04-13/test.blg (deflated 43%)
       adding: 2022-04-13/test.dvi (deflated 27%)
       adding: 2022-04-13/test.log (deflated 66%)
       adding: 2022-04-13/test.tex (deflated 23%)
    

3) コマンド実行(以下のような5つのコマンドを実行するようタイプセット)

      platex test
      pbibtex test
      platex test
      platex test
      dvipdfmx test
  • お試しになったソースや文献データベースファイルなどの提供は可能ですか?
  • お試しになったソースや文献データベースファイル、タイプセット中に作成される .aux .bbl .blg .log などを提示していただけませんか?
和田 勇 への返信

Re: bibdeskのpreview: jplainでエラー

- 松本 尚輝 の投稿
和田様、

早速のお返事ありがとうございます。
質問の仕方が悪かったかもしれません。

先に私が添付した添付ファイルの説明をしておきます。
先の返信で和田様に添付していただいたものに加え、
  • library.bib
  • bibdesk.png
が追加され、test.texをコンパイルした結果がtest.pdfになります。
また、その際の出力ファイルはそのままにしてあります。

添付してある通り、bibtex自体は想定通り動いており、問題ありません。
(Atomを使っているため、texshopなどとは出力ファイルの数が異なってしまっているかもしれません。)

実は、bibdeskを導入しようと思ったきっかけが、
「読んだ文献を一括にまとめ置くため、 /Document 内のディレクトリに library.bib を作成し、書類を作るたびに *.bib を作ることなく、 library を参照すれば良いようにできないか」ということでした。
そのため、library.bibは

/Users/ -username- /Documents/Papers/bib/library.bib


においてあり、


/Applications/TeXLive/Library/texlive/2022/texmf-dist/bibtex/bib


にシンボリックリンクを通しています。

参照したのはこちらのwebsiteです。

https://qiita.com/yusukemurao/items/ccc7876eb6bbe8bc5acd

ただ、これらのことは、今回の問題に関係ないと考えています。



本題は、bibdesk.png の上部に見える「TeX Preview」を使いたい、ということでした。

使えなくても問題はないけれど、その場でどのような出力になるのか確認できたら便利だな、という感じです。

出力されるlogにwarning メッセージがあり、これが解決できずにいる、ということです。

TeX Previewを使った際に他に出力ファイル等はありません。


これで説明になっていますでしょうか。

説明が長くなってしまい、申し訳ありません。


#こちらのスレッドを見られている方で、もし TeX Preview を jplain styleで問題なく使えている方がいらっしゃったら、その設定や previewtemplete.tex を見せて頂けないでしょうか。

松本 尚輝 への返信

Re: bibdeskのpreview: jplainでエラー

- 松本 尚輝 の投稿
追記になります。

こちら、和田様に添付いただいたtest.texを編集したのですが、
せっかく \nocite{*} があるのに \cite{*} してしまいました。

\nocite の機能を今まで知りませんでした。
TeX PreviewがBiBdeskで使えなくても、
これを別でやってしまえば出力の確認になりますね。

教えて頂き、ありがとうございます。
松本 尚輝 への返信

Re: bibdeskのpreview: jplainでエラー

- 和田 勇 の投稿

勘違いをしていたようで申し訳ないです。

  • 気が付いた点

    まだ不明な点もあるのですが、bibdesk.png を見ると TeX Preview用にタイプセットする際、pdftex が利用されているようです。

    これを例えば latexmk を使うようにするとした場合ですが ...

    設定情報は defaults というコマンドでも検索できるので私の場合は、以下のようになります。

       defaults read "edu.ucsd.cs.mmccrack.bibdesk" | grep -e Binary
    
           "BibTeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/upbibtex";
           "TeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/latexmk";
    

    参考までに latexmkrc の uplatex 用の設定を $HOME/.latexmkrc は以下のように設定。

      $latex = 'uplatex %O -synctex=1 %S';
      $bibtex = 'upbibtex %O %B';
      $dvipdf = 'dvipdfmx %O -o %D %S';
      $pdf_mode = 3;
    
  • jplain style の警告が気になるのであれば previewtemplate.tex の Style に jplain を書き込んでみてはいかがでしょうか

  • previewtemplete.tex のサンプルは添付を参考にしてください

    • 添付したものは jplain を埋め込んでありますが、標準のままでも良いです
    • 「library.bib」を開いたときは、プレビューが表示されるのですが、文献をクリックするとエラーが表示されてしまいます :-(
和田 勇 への返信

Re: bibdeskのpreview: jplainでエラー

- 松本 尚輝 の投稿
ありがとうございます。

和田様にご提案いただいたものも含め、できる限り試してみたのですが、結局解決には至りませんでした。

現状、TeX Preview が使えないことで物事が全く進まない、ということではないので、今後時間があればまた色々試してみたいと思います。

お時間割いて頂き、本当にありがとうございました。
松本 尚輝 への返信

Re: bibdeskのpreview: jplainでエラー

- 和田 勇 の投稿

もし、 latexmk を使っているのならですが...

$HOME/.latexmkrc に以下の設定を加えてみてください。

      $cleanup_mode = 1;

これは latexmk -gg に相当する設定です。

理由は、 BibDesk で TeX Preview アイコンをクリックしたり、bib 項目をクリックした際に表示されるプレビュー用の Winodw の Log をみていて以下の動作が確認されたのでその対策です。

初めての時は、(u)patex が動くのですが、その後、bib 内容をドラッグアンドドロップなどすると、(u)platex が動いた形跡がなく、いきなり (u)pbibtex の処理を行なっています。

つまり、初回の (u)platex の結果作成されている テンプレートから作成されている情報を2回目以降も使おうとしているように見えます。

そこで以前の情報をクリアする -gg オプションに相当する perl 変数を調べて、設定したところ、おそらく、ご希望の動きをするように思えます。

和田 勇 への返信

Re: bibdeskのpreview: jplainでエラー

- 和田 勇 の投稿

追加情報です。

latexmk でなく ptex2pdf -l -u として uplatex + upbibtex + dvipdfmx でも良いようです。

  • ptex2pdf -l -u ( uplatex + upbibtex + dvipdfmx )

     "TeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/ptex2pdf -l -u";
    
  • 上記ができるので latexmk に -gg オプションをつけても良い

      "TeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/uplatex -gg";
    
和田 勇 への返信

Re: bibdeskのpreview: jplainでエラー

- 和田 勇 の投稿

追加情報です。

latexmk でなく ptex2pdf -l -u として uplatex + upbibtex + dvipdfmx でも良いようです。

  • ptex2pdf -l -u ( uplatex + upbibtex + dvipdfmx )

     "TeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/ptex2pdf -l -u";
    
  • 上記ができるので latexmk に -gg オプションをつけても良い

      "TeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/uplatex -gg";
    
和田 勇 への返信

Re: bibdeskのpreview: jplainでエラー

- 松本 尚輝 の投稿
和田様、

こんばんは。
追加情報など、ありがとうございます。
ご提案の解決策を一通り試してみたのですが、BiBdesk の Tex Preview としてはどちらも結果は変わらず、

***** ERROR: unable to create preview *****

see the logs in the TeX Preview window


で、見ろと言われている log には


***** WARNING: You are using a non-standard BibTeX style *****

The style "jplain" may require additional \usepackage commands to function correctly.


となっていました。


少し探してみたところ(というか、上のlogの直下に書かれているのを見落としてしまっていました)、先日は Tex Preview からの出力はないとお伝えしたのですが、


/var/folders/cz/w4kh67w56tlb3jjh1wzv5tnr0000gn/T/bibdesk.4UfEXc/bibpreview/


に .tex や .log 、.bib、.blg などの出力がありました(/cz 以降の名前は人によって変わるかもしれません。)。

そこで、.tex と .bib を問題なく動く自分の環境( Atom )でコンパイルしてみたところ、.pdf がきちんと出力されました。

log などを確認してみたのですが、tex previewで出力されるものと atom で出力されるもので異なる点は無いように見受けられます。


和田様の BiBdesk では問題なく Preview が出力されたのですよね。

とすると、問題は何か別のことのように考えられます。

(それが何か、というのは全く検討がつかないのですが、、)


添付したのは

adding: bibpreview.aux (deflated 29%)

adding: bibpreview.bbl (deflated 23%)

adding: bibpreview.bib (deflated 45%)

adding: bibpreview.blg (deflated 43%)

adding: bibpreview.dvi (deflated 22%)

adding: bibpreview.log (deflated 73%)

adding: bibpreview.tex (deflated 29%)

adding: bibpreview_atom.aux (deflated 29%)

adding: bibpreview_atom.bbl (deflated 23%)

adding: bibpreview_atom.blg (deflated 43%)

adding: bibpreview_atom.dvi (deflated 24%)

adding: bibpreview_atom.fdb_latexmk (deflated 70%)

adding: bibpreview_atom.fls (deflated 94%)

adding: bibpreview_atom.log (deflated 73%)

adding: bibpreview_atom.pdf (deflated 5%)

adding: bibpreview_atom.synctex.gz (stored 0%)

adding: bibpreview_atom.tex (deflated 29%)


で、_atomとついているのがAtomで出たもの、bibpreview.* は /var/.... に出力されていたものをそのまま持ってきたものです。


また、 defaults read "edu.ucsd.cs.mmccrack.bibdesk" | grep -e Binary は


"BibTeX Binary Path" = "/Applications/TeXLive/Library/texlive/2022/bin/universal-darwin/upbibtex";


"TeX Binary Path" = "/Applications/TeXLive/Library/texlive/2022/bin/universal-darwin/uplatex -gg";


としました。

松本 尚輝 への返信

Re: bibdeskのpreview: jplainでエラー

- 和田 勇 の投稿

ごめんなさい、 私の記述ミス :-(

  • BibDesk は「"TeX Binary Path"」に指定するものは pdf を自動生成してくれるコマンドを期待しているようです。

  • documentclass を (u)platex に指定しているので、「latexmk」 か「ptex2pdf -l -u」などが候補になります

  • latexmk を使う場合は ...

    • latexmk は、一回めは uplatex / upbibyex / uplatex / dvipdfmx として通常の手順を踏み pdf が作成されるのですが ....

    • 何故か2回目以降は最初のuplatex を試みるも動作していないので以降の処理がフェールするようです

    • 上記のような対策として latexmk に -gg オプションをつけると、自動生成されたファイルを一旦削除してから一連の手続きを踏むようになります

  • ということで latemk を使う場合は以下のようにしてください。

          "TeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/uplatex -gg";   ←間違っていました
    
          "TeX Binary Path" = "/usr/local/texlive/2022/bin/universal-darwin/ -gg";