dvipdfmx が出力するメッセージを網羅的に知りたい

Re: dvipdfmx が出力するメッセージを網羅的に知りたい

- 和田 勇 の投稿
返信数: 1

検討済みと思いますが、また、典型的 とは意趣が異なるかもしれませんが、文字列検索してみてはいかがでしょうか。

以下は macOS 環境で試したコマンドです。Windows 環境の場合、類似のツール導入が必要と思います。

  • 必要なツール

    • git ... TeXLive のソース入手にため
    • ripgrep (rg) ... 文字列検索のため
    • (補足)strings ... バイナリファイルに組み込まれたテキスト情報の取得のため
  • ソースから検索する方法

    •  ソース入手l情報 ... url = https://github.com/TeX-Live/texlive-source.git

    • 上記関連ディレクトリ ... texlive-source/texk/dvipdfm-x

    • 検索パターン ... rg -C1 --sort path -i -w -e warning -e fatal -e error -e not -e '.nno output' -e 'could not' -e stderr -e WARN -e missing

    • -C1 ... 検索された前後を表示
    • -e stderr および -e WARN ... エラー警告メッセージを出力する際の関連文字列情報

  - vscode でビルド時の dvipdfmx のプロセスで stderr を分離取得しても良いかもしれません

- そのほかのオプションは `rg --help` を参照してください
  • (補足)実行可能な dvipdfmx バイナリに組み込まれたメッセージ検索する方法

  which dvipdfmx | xargs strings | rg -i -w -e warning -e fatal -e error -e not -e 'no output' -e 'could not'

 

和田 勇 への返信

Re: dvipdfmx が出力するメッセージを網羅的に知りたい

- ya ra の投稿

和田さま、ありがとうございます。

検討済みと思いますが

恥ずかしながら、ソースから検索する手立てがすっぽり頭から抜けていました。

https://github.com/TeX-Live/texlive-source/tree/trunk/texk/dvipdfm-x からソースを取得し検索しました。すると、次の部分を確認することで必要な部分を抽出することに成功しました。

  • WARNERROR 関数
  • printf(stderr

これをベースにログパーサを作成したいと思います。

(補足)実行可能な dvipdfmx バイナリに組み込まれたメッセージ検索する方法

バイナリからメッセージを検索する方法があることも知りませんでした。今回はソースから検索したため活用しませんでしたが、ご教示しただきありがとうございます。