結構複雑な件:kpathsea、(u)platex -synctex=±1/-src、MiKTeX、texliveに関する問題

結構複雑な件:kpathsea、(u)platex -synctex=±1/-src、MiKTeX、texliveに関する問題

- SYD remember の投稿
返信数: 4

こんばんは!

件名の通り、すごくややこしい件に遭遇しました。

自分はwindows使っています。 最初はtexliveをインストールした時、完全版の.isoファイルを使いましたが、TLShell TeX Live Managerを開いたら、このようなエラーがすぐ出てきます:

couldn't execute "kpsewhich" : no such file or directory while executing "exec kpsewhich -var-value=TEXMFROOT"  
invoked from within  
"set ::instroot [exec kpsewhich -var-value=TEXMFROOT]"
(file "E:\Program Files (x86)\texlive\2023\texmf-dist\scripts\tlshell\tlshell.tcl" line 27)

つい最近のtexlive 2024も、パスの2023が2024になりましたが、他は全部一緒です。なのでtexlive代わりにmiktexをインストールしてみましたが、すごくスムーズに出来ました。    これらを別として、miktexで(u)platexを動かそうとしましたら、問題点がいくつかあります。一部は解決できましたが、残った部分はこれらと何らかの関係があると思っています。

昨日も、https://github.com/MiKTeX/miktex/discussions/1464 にも投稿しました。

解決できた一つ目:platex.exe -src -interaction=nonstopmode %.texが起動出来ませんでした。 -synctex=±1両方も同様に起動出来ません。logは以下:

2024-03-18 00:42:17,582+0900 INFO  platex - this process (8652) started by texstudio in directory D:\github\latex\article\123 with command line: platex.exe -src -interaction=nonstopmode document.tex
2024-03-18 00:42:17,582+0900 INFO  platex - running on Windows 10.0.19045
2024-03-18 00:42:17,584+0900 INFO  platex - this is MiKTeX-EPTEX 1.8.0 (230214) (MiKTeX 24.3)
2024-03-18 00:42:17,589+0900 INFO  platex - allowing known shell commands
2024-03-18 00:42:17,765+0900 FATAL platex.core - internal error
2024-03-18 00:42:17,765+0900 FATAL platex.core - Data: 
2024-03-18 00:42:17,765+0900 FATAL platex.core - Source: Libraries\MiKTeX\TeXAndFriends\include\miktex/TeXAndFriends/StringHandlerImpl.h:36
2024-03-18 00:42:17,765+0900 FATAL platex - internal error
2024-03-18 00:42:17,765+0900 FATAL platex - Info: 
2024-03-18 00:42:17,765+0900 FATAL platex - Source: Libraries\MiKTeX\TeXAndFriends\include\miktex/TeXAndFriends/StringHandlerImpl.h
2024-03-18 00:42:17,765+0900 FATAL platex - Line: 36
2024-03-18 00:42:17,768+0900 INFO  platex - this process (8652) finishes with exit code 1
2024-03-18 00:42:17,771+0900 WARN  platex.core - still open: document.log
2024-03-18 00:42:17,772+0900 WARN  platex.core - still open: document.aux

解決策:-srcなしであれば動かせます。

解決できた二つ目: -srcなしで無事に.dviを出力できましたが、dvipdfmxの段階で失敗しました。logは以下:

2024-03-18 00:57:09,826+0900 INFO  miktex-makepk - this process (19192) started by dvipdfmx in directory D:\github\latex\article\123 with command line: miktex-makepk --enable-installer --verbose rml 555 600 0+555/600
2024-03-18 00:57:09,827+0900 INFO  miktex-makepk - running on Windows 10.0.19045
2024-03-18 00:57:09,831+0900 INFO  makepk - Trying to make PK font rml at 555 DPI...
2024-03-18 00:57:09,841+0900 INFO  makepk - The METFAONT mode is: ljfour
2024-03-18 00:57:09,847+0900 INFO  makepk - Running miktex-makemf.exe...
2024-03-18 00:57:09,847+0900 INFO  makepk - running: miktex-makemf.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose --verbose rml
2024-03-18 00:57:09,847+0900 INFO  miktex-makepk.core - start process: miktex-makemf.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose --verbose rml
2024-03-18 00:57:10,507+0900 INFO  makepk - Running miktex-ttf2pk.exe...
2024-03-18 00:57:10,507+0900 INFO  makepk - running: miktex-ttf2pk.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose -q -t rml
2024-03-18 00:57:10,507+0900 INFO  miktex-makepk.core - start process: miktex-ttf2pk.exe --miktex-enable-installer --miktex-disable-maintenance --miktex-disable-diagnose -q -t rml
2024-03-18 00:57:11,145+0900 FATAL miktex-makepk - PK font rml could not be created.
2024-03-18 00:57:11,145+0900 FATAL miktex-makepk - PK font rml could not be created.
2024-03-18 00:57:11,145+0900 FATAL miktex-makepk - Info: 
2024-03-18 00:57:11,145+0900 FATAL miktex-makepk - Source: 
2024-03-18 00:57:11,145+0900 FATAL miktex-makepk - Line: 0
2024-03-18 00:57:11,158+0900 INFO  miktex-makepk - this process (19192) finishes with exit code 1

uplatexも似たようなエラーを投げてきましたが、rmlの代わりにuprml-hが書いていました。 解決策:https://okumuralab.org/tex/mod/forum/discuss.php?d=1766 を参照して、

kpsewhich --progname=dvipdfmx --format=othertext dvipdfmx.cfg
kpsewhich kanjix.map

を実行してみたら、一個目のコマンドは何も出力しなかったが、二個目はこのような出力が返されました:

C:\Users\MYNAME\AppData\Local\MiKTeX\fonts\map\dvipdfmx\kanjix.map

kanjix.mapの中身を確認してみますと、こうでした:

%%% DO NOT EDIT THIS FILE! It will be replaced when MiKTeX is updated.
%%% Run the following command to edit a local version of this file:
%%%   initexmf --edit-config-file updmap

その中に書いているinitexmf --edit-config-file updmapも実行しましたら、このような一行しかないudpmap.cfgが飛んできました:

%% T1 font configuration settings. See the MiKTeX manual for help.

最後はkanjix.mapを以下のように上書きするとdvipdfmxがうまくpdfを出力しました:

rml  H Ryumin-Light
gbm  H GothicBBB-Medium
rmlv V Ryumin-Light
gbmv V GothicBBB-Medium

解決できなかった問題 一つ目: この前はずっとこのようにxelatexを使って実験レポートを書いていましたが:

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{IPAexMincho} 
\usepackage{...}
\begin{document}
内容
\end{document}

もし前述の方法に従ってarticlej(s)articleに書き換えて動かすと、画像導入

\usepackage{graphicx} 
\usepackage{subfigure} 
\usepackage{float}

がうまくいけませんでした。

二つ目: hyperrefが生成したリンクについて、色はまだついていますが、クリックはできなくなりました。

三つ目: やはり-synctex=±1がないとすごく使いにくいですね。

四つ目: 全ての問題はtexliveでまだ再現していませんが、そもそもtexliveは使えませんので、、、

あとは個人的な質問ですが、なぜkanjix.mapは最初に、あんな感じでしたか?

SYD remember への返信

Re: 結構複雑な件:kpathsea、(u)platex -synctex=±1/-src、MiKTeX、texliveに関する問題

- aminophen の投稿
書いていただいていることが非常にややこしいのですが,要約すると

1. TeX Live をインストールしたが couldn't execute "kpsewhich" : no such file or directory というエラーが出た。
2. よく分からないので MiKTeX をインストールした結果,platex を起動するところまではできたが,色々な訳が分からなないエラーが出た。

日本語を使いたいのであれば,TeX Live をお勧めします。ですから 1. の問題を解決することを優先してください。

理由:MiKTeX には数年前から日本語の platex などがインストールされますが,MiKTeX 開発者には日本人が(私の知る限り)誰もいません。日本人は TeX Live の開発に専念しています(日本人の人手不足)。私も TeX Live のことならば回答できても,MiKTeX のことは回答できない。
aminophen への返信

Re: 結構複雑な件:kpathsea、(u)platex -synctex=±1/-src、MiKTeX、texliveに関する問題

- SYD remember の投稿
ご返信ありがとうございます。長文で失礼しました。
ではcouldn't execute "kpsewhich"を解決するにはどこから着手すればいいんでしょうか?
SYD remember への返信

Re: 結構複雑な件:kpathsea、(u)platex -synctex=±1/-src、MiKTeX、texliveに関する問題

- はやて (h20y6m) の投稿
> ではcouldn't execute "kpsewhich"を解決するにはどこから着手すればいいんでしょうか?

PATH に正しく TeX Live が追加されているかどうかの確認でしょうか?

"E:\Program Files (x86)\texlive\2023" というインストールディレクトリも気がかりですが……
TeX Live ってスペースを含むインストールディレクトリに対応してましたっけ??

----

自分は PATH に TeX Live を追加せずにインストールしているのですが、
TeX Live 2023 からはそれだと「TLShell TeX Live Manager」が同じエラーで起動しなくなりました。
そこで回避策としてスタートメニューの「TLShell TeX Live Manager」を右クリック「その他」→「ファイルの場所を開く」、TLShell TeX Live Manager のショートカットを右クリック「プロパティ」で「作業フォルダ」を 「C:\texlive\2023\bin\windows」に変更する
という面倒なことをしています。
はやて (h20y6m) への返信

Re: 結構複雑な件:kpathsea、(u)platex -synctex=±1/-src、MiKTeX、texliveに関する問題

- SYD remember の投稿

ご返信ありがとうございます。
問題なく成功しました。本当にありがとうございます。
D:\texlive\2024をディレクトリとしてインストールした直後にcouldn't execute "kpsewhich"が出てしまいましたが、
最初に作業フォルダにD:\texlive\2024を書いて、そしてcmdlatexを打って見ますと認識されていませんと返されました。
更に環境変数PATHにD:\texlive\2023\bin\windowsを追加したら全部解決できました。