dvilualatex-dev.fmt を作成するには

dvilualatex-dev.fmt を作成するには

- 栃折 成紀 の投稿
返信数: 7

Windows11 で、TeX Live2025 をインストールしています。ただしネットワークインストーラや ISOイメージによるインストールでなく、CTAN の archive から必要なファイルだけ入れ、ディレクトリ構造をカスタマイズするという、好き勝手なことをしています。これにより、platex, dvips, dvipdfmx などが恐らく正常に動作していることを確認しています。

fmtファイルは

 fmtutil-sys --all

により作成できますが、この過程で dvilualatex-dev.log は作成されるが dvilualatex-dev.fmt は作成されないという現象が生じています。platex.fmt などの他の fmtファイルは全て作成できています。dvilualatex-dev.log を見てもどのファイルが欠如しているかなどが分からず、加えて、ネットで「dvilualatex-dev」などで検索してもヒントになるような情報が見当たらず、当フォーラムに投稿させていただきました。こうすれば dvilualatex-dev.fmt は作成されるという点があれば教えていただけますか?dvilualatex-dev.log を添付致します。

栃折 成紀 への返信

Re: dvilualatex-dev.fmt を作成するには

- 和田 勇 の投稿

fmtutil-sys --all のログを当方と比べました。 見ているファイルが違うのは環境設定が微妙に異なるからかと判断し無視はしています。

エラーメッセージが出ている部分を検討すると、かなり古いファイルをご利用されていますね。 (小文字の share は栃折 成紀さんのログ、大文字のは当方のもの。)

    -(c:/usr/local/share/texmf-dist/tex/cslatex/base/hyphen.cfg
    +(c:/usr/local/SHARE/texmf-dist/tex/generic/babel/hyphen.cfg
    -File: hyphen.cfg 1997/01/30 CSLaTeX                   
    +File: hyphen.cfg 2025/08/03 v25.12 Babel hyphens  

このファイルは、当方で kpsewhich -a hyphen.cfg を実行すると以下のような構成にしています。

     /opt/texlive/2025/texmf-dist/tex/generic/babel/hyphen.cfg
     /opt/texlive/2025/texmf-dist/tex/cslatex/base/hyphen.cfg  ←このファイルの日付は古いですが
     /opt/texlive/2025/texmf-dist/tex/lambda/antomega/hyphen.cfg

念の為、当方のログと比較したものを添付します。 ただし、栃折 成紀さんのログの環境に当方のログの情報を合わせています。 また、行番号などの違いも今回は影響なしとして取り除いています。

それから、この件にに関係する texmf.cnf も影響すると思いますので kpsewhich texmf.cnf の情報も必要かと思います。

      /opt/texlive/2025/texmf.cnf  ←わたくしの環境ではこちら優先
      /opt/texlive/2025/texmf-dist/web2c/texmf.cnf
和田 勇 への返信

Re: dvilualatex-dev.fmt を作成するには

- 栃折 成紀 の投稿

和田 勇様の返信のおかげで解決できました。

hyphen.cfg は

$TEXMFMAIN\tex\cslatex\base\hyphen.cfg

$TEXMFMAIN\tex\generic\babel\base\hyphen.cfg

の2つがあり、\cslatex 内の方を2006年版から更新(現在の最新版は2025/8/4)しないと、

fmtutil-sys --all

をしても dvilualatex-dev.fmt は作成できないと分かりました。

dvilualatex-dev.fmt が作成できました。仔細に調べてくださりありがとうございました。

栃折 成紀 への返信

Re: dvilualatex-dev.fmt を作成するには

- 和田 勇 の投稿

hyphen.cfg のファイルの最新は 2012/12/22 というのは、generic babel のものだと思いますので、 一般的には、このファイルを cslatex の同名ファイルと置き換えてはダメです。

さて kpsewhich -a hyphen.cfg の結果が

     > $TEXMFMAIN\tex\cslatex\base\hyphen.cfg
     > $TEXMFMAIN\tex\generic\babel\base\hyphen.cfg

とのことですが おそらく generic の方がディレクトリ階層がひとつ深いので cslatex が 優先選択されたのではないかと推測しています。

なので generic の方から $TEXMFMAIN\tex\generic\babel\base 以下のものを 一階層上の $TEXMFMAIN\tex\generic\babel に移動してみて、mktexlsr 実行後 kpsewhich -a hyphen.cfg を再試行してみてはいかがでしょうか?

なお、 cslatex に含まれているファイルの最終更新日は 2012/12/12 です。 もちろんそこに含まれる hyphen.cfg は 2006/1/13 の日付です。

和田 勇 への返信

Re: dvilualatex-dev.fmt を作成するには

- 栃折 成紀 の投稿
$TEXMFMAIN\tex\cslatex\base\hyphen.cfg [1997/01/30 CSLaTeX] (更新日時は2006‎年‎1‎月‎13‎日、‏‎8:45:24)

$TEXMFMAIN\tex\generic\babel\base\hyphen.cfg [2025/08/03 v25.12 Babel hyphens](更新日時は2025‎年‎8‎月‎4‎日、‏‎4:05:06)
を上書きするというのは損失であり、おっしゃるようにダメだと思うので、改めてご指南の通り、
$TEXMFMAIN\tex\generic\babel\base 内のフォルダ・ファイル
を1階層上の $TEXMFMAIN\tex\generic\babel に移動し、(私は mktexlsr は一切使っていないので)
kpsewhich -a hyphen.cfg
を実行したところ、

c:/usr/local/share/texmf-dist/tex/cslatex/base/hyphen.cfg
c:/usr/local/share/texmf-dist/tex/generic/babel/hyphen.cfg
と出力されました。この状況下で fmtutil-sys --all を実行すると、dvilualatex-dev.fmt は作成されませんでした。
念のため dvilualatex-dev.log を添付します。
栃折 成紀 への返信

Re: dvilualatex-dev.fmt を作成するには

- 和田 勇 の投稿

...(私は mktexlsr は一切使っていないので)

スタイルファイルなどを配置したり、今回のように配置換えした時は、 その検索データベース ls-R を更新しないと目的のファイルを探せないはずなのですが .... でも探せている原因は不明です。

この検索に関わる情報は kpsewhich -a texmf.cnf で示されるファイルの内容を精査しなければいけないかもしれません。

さて、カスタムインストールされているとのことですが、 どのような手順で構築されたのでしょうか?

できればご参考にされた URL や、 もしスクリプトやそれを実行した時のログファイルなどがあれば良いのですが。

特に texdoc cslatex でマニュアル情報を守ると、その冒頭に The CSLaTeX package is obsolete and it will be maintained no more.と記述されている ものをインストールしなければいけない理由や、そのインストールした手順を示していただければ幸いです。

和田 勇 への返信

Re: dvilualatex-dev.fmt を作成するには

- はやて (h20y6m) の投稿
kpsewhich -progname=dvilualatex-dev -a hyphen.cfg

ではどちらが先になりますか?

TeX Live 2025 の texmf-dist/web2c/texmf.cnf には以下の設定があります。

TEXINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//

つまり dvilualatex-dev は以下の順でファイルを検索するようになっています。

$TEXMFDOTDIR
$TEXMF/tex/latex-dev//
$TEXMF/tex/lualatex//
$TEXMF/tex/latex//
$TEXMF/tex/luatex//
$TEXMF/tex/generic//
$TEXMF/tex//
※ $TEXMFDOTDIR はカレントディレクトリ、$TEXMF は texmf-dist, texmf-local など

dvilualatex-dev から hyphen.cfg を検索する場合本来は以下の順になります。

texmf-dist/tex/generic/babel/hyphen.cfg
texmf-dist/tex/cslatex/base/hyphen.cfg

texmf.cnf の設定を確認してみてください。

----------

CsLaTeX はチェコ・スロバキア語用の LaTeX のようです。
tex/cslatex 以下の hyphen.cfg はこの CsLaTeX 用のもので通常の LaTeX で使うものではないと思います。
はやて (h20y6m) への返信

Re: dvilualatex-dev.fmt を作成するには

- 栃折 成紀 の投稿

TeX Live 2025 のファイル群を、ディレクトリ構造が W32TeX(2021年7月に更新終了)と同じになるように構成しています。kpsewhich -a texmf.cnf で示される

c:/usr/local/share/texmf-dist/web2c/texmf.cnf

については、例外として W32TeX とほぼ同じものを使用しています。おそらくこれが原因でしょう。そこには

TEXINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//

という記述はなく、実際に

kpsewhich -progname=dvilualatex-dev -a hyphen.cfg

の出力結果は

c:/usr/local/share/texmf-dist/tex/cslatex/base/hyphen.cfg
c:/usr/local/share/texmf-dist/tex/generic/babel/hyphen.cfg

と、cslatex の方が先でした。

そこで、textmf.cnf に

TEXINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//

という記述を追加し、同じく

kpsewhich -progname=dvilualatex-dev -a hyphen.cfg

とすると

c:/usr/local/share/texmf-dist/tex/generic/babel/hyphen.cfg
c:/usr/local/share/texmf-dist/tex/cslatex/base/hyphen.cfg

と、結果が逆になりました。この下で dvilualatex-dev.fmt は確かに作成できました。

cslatex とは、かつて設計され今は使わない、歴史的産物と受け取ってよいでしょうか。

和田 勇様、はやて様のおかげ様で、この件のからくりが理解できた気がします。texmf.cnf に近年新設された記述を載せないと dvilualatex-dev.fmt は作成されないのでした。個別の事案に向き合っていただきありがとうございました。