2024-04-16

FreeBSD上のtexdocが表示しようとしているPDFをWindows上で参照する方法

FreeBSD上にTeXlive 2024をインストールして利用しています。普段使いのマシンはWindows 10なので、LaTeXを組版するためには、ちょっとしたスクリプトを用意して、WindowsからFreeBSDに処理を投げて、その結果のPDFをWindowsに戻しています。これで特に問題は無いのですが、ごく稀にTeXliveにあるPDFを参照したくなる場合があります。


TeXliveには膨大なPDFが同梱されており、「texdoc」というコマンドで参照できるようです。このコマンドは、内部でxpdfを起動してPDFを参照しているようなので、それをWindows上に出力するには何か仕組みを用意する必要があります。もっとも簡単なのは、Windows上でXサーバを起動しておく方法でしょう。うまいぐあいにASTEC-Xを持っているので、その方法は可能ですが、普段はASTEC-Xを起動していないので、もうちょっと別の方法を考えたいところです。

 

調べてみるとtexdocは、 「viewer_pdf」という設定項目があり、これがPDF出力をコントロールしているようです。デフォルトがxpdfになっている訳ですが、独自の設定をおこなうこともできそうです。もし独自の設定をするのであれば、ホームディレクトリに「~/texmf/texdoc/texdoc.cnf」を用意して、そこに記述するのが推奨されています。

 

例えば、「texdoc latex」と実行すると「/usr/local/texlive/2024/texmf-dist/doc/latex/latex-doc-ptr/latex-doc-ptr.pdf」を表示しようとするようです。僕は、FreeBSD側にSambaを入れてあり、/usr/localを参照できるようにしているので、このパスをWindows側で参照すれば、Windows側でPDFを参照する事は出来るのですが、なにしろパスが深いので、あまり簡便ではありません。


FirefoxなどのブラウザでPDF閲覧をおこなうならば、さきほどのパスが「file://///FreeBSD/local/texlive/~」のようになっていてくれれば、その出力結果をカットアンドペーストしてブラウザに貼れば簡単ではないかと思いつきました。そこで「~/texmf/texdoc/texdoc.cnf」に次のような行を入れて実験してみました。

viewer_pdf = (echo %s ) | sed -e 's|/usr/local|file://///FreeBSD/local|'

このようにしておいて「texdoc latex」を実行すると、端末に次のような出力が出てきます。これをクリップボードにコピーして、ブラウザに貼り付ければ、たちどころにPDFが出力されます。この方法で、いけそうです。

file://///FreeBSD/local/texlive/2024/texmf-dist/doc/latex/latex-doc-ptr/latex-doc-ptr.pdf

 

0 件のコメント:

コメントを投稿