祝鳥でなく,自前でファイル名をバッチファイルに渡し,dvipdfmxでpdfを作成しています。
職場(学校)と自宅のどちらでも作業できるようにGoogleDriveにソースを置いていますが
GoogleDriveの更新が遅いのか,SumatraPDFの即時更新がうまくいかず,
ソースはGoogleDrive,PDFの吐き出しはPCのローカルフォルダ (C:\TeX-PDF という名前)
jobname.synctexも先のTeX-PDF にムーブして platexでSumatraPDFの快適さを味わっていました。
ここで,uplatex を使う必要が出てきたとき SumatraPDFでジャンプを行おうとすると
H:\?}?..........(文字化けが続きます)\tex-wk\ へのカレントフォルダの移動に失敗しました
とのダイアログが出現し,うまくいきません。
synctexファイルを確認してみると5920行中 3行に文字化けがあることがわかりました。
文字化けの内容は
Input:1:H:/?}?C?h???C?u/tex-wk/2024/?c???Y??/./帰納法テンプレート.tex
のような形です。
H:\マイドライブ\tex-wk/2024\田中添削\帰納法テンプレート.tex があってほしい形です。
フォルダ名(ファイル名)の漢字を用いなければ良さそうですが,GoogleDriveの「マイドライブ」は
Windows日本語環境では変更することに躊躇します。
TeXworks や VScode など統合環境を使用することも考えられますが,
秀丸で蓄積した入力用のマクロも捨てがたいものがあります。
synctexで文字化けしない設定をご教示いただければ幸いです。
uplatex タイプセットのためのバッチファイルです
uplatex -synctex=-1 -shell-escape %1
dvipdfmx -o C:\tex-pdf\%1.pdf %1
move /Y %1.synctex C:\tex-pdf
del %1.dvi >nul
よろしくお願いいたします。
ptex2pdfでsynctexファイルの文字化け を参考にどのように再現環境を準備するか検討しているのですが、 いくつか確認したいことがあります。
- ご使用されているTeXLive のバージョンは? → 2. の結果で作成される .log ファイルの情報でもわかります
- 以下の platex でも uplatex でも処理できるソースhello.texを使ってテストした結果を教えてください
- hello.tex を
テスト-platex.tex
及びテスト-uplatex.tex
としてH:\マイドライブ\tex-wk\2024\田中添削
に配置 - それぞれのファイルを提示されたスクリプトなどで plate uplatex で処理する
- その結果のレポートをお願いします。またそれぞれの .log .pdf 及び .synctex の合計6ファイルを添付してください。
- hello.tex を
返答ありがとうございます。
以下回答になります。
> TeXLive のバージョンは
logファイルによれば 2019 です。
> 合計6ファイルを添付
添付いたします。
よろしくお願いいたします。
テスト環境
- ソースは
article.cls
をjsarticle.cls
に変更されたのですね - 使用されている TeXLive 環境は W32TEX ですね。
エンジン検出結果
PDF に出力されるエンジン情報が想定していたものと違いますね。
テスト-platex.pdf
Page 1: Hello TEX!
テスト-uplatex.pdf
Page 1: Hello TEX!
macOS でですがTeXLive 2019 の platex で実行すると以下のようになります。
js-hello.pdf
Page 1: Hello, pLATEX + dvipdfmx!
.log について
uplatex 環境では utf8.uptex
になっていますね。
これが platex 環境と同じ utf8.sjis
なれば解決するかもしれないですね。
(この項、検討中)
==> テスト-platex.log <==
This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.sjis) (TeX Live 2019/W32TeX) (preloaded format=platex 2019.6.4) 19 NOV 2024 14:50
==> テスト-uplatex.log <==
This is e-upTeX, Version 3.14159265-p3.8.2-u1.25-190131-2.6 (utf8.uptex) (TeX Live 2019/W32TeX) (preloaded format=uplatex 2019.6.4) 19 NOV 2024 14:51
syntex ファイルについて
結果が報告されていませんでしたが、uplatex 環境ではファイルパスが platex 環境とは違いますね。
platex環境のもの
Input:1:H:/<83>}<83>C<83>h<83><89><83>C<83>u/tex-wk/2024/<93>c<92><86><93>Y<8d>í/./<83>e<83>X<83>g-platex.tex
uplatex環境のもの
Input:1:H:/?}?C?h???C?u/tex-wk/2024/?c???Y??/./<83>e<83>X<83>g-uplatex.tex
現状の検証
当方 サポートが終了したW32TEX 環境を準備できず、どのように検証するか検討していますが、 田中さんの方では TeXLive 2024 に更新等の検討は可能ですか?
> 結果が報告されていませんでしたが、uplatex 環境ではファイルパスが platex 環境とは違いますね
2つともソースファイルは
H:/マイドライブ/tex-wk/2024/田中添削/テスト-(u)platex.tex
として置いてあります。
(エンコードはどちらも S-JIS でした)
> TeXLive 2024 に更新等の検討は可能ですか?
現在学校で使用している,PCはコケたときにダメージが大きいので
家で眠っているPCを TeXLive2024 にすることは可能です。
勝手ながら
自宅に帰ってから,PC を TeXLive2024 にインストール完了したら
またご連絡をこの掲示板でお知らせするということでお願いできますでしょうか。
2024年 11月 19日(火曜日) 16:01 - 和田 勇 の投稿 の「.log について」の項で検討中の「uplatex 環境で utf8.uptex
となっている件」
windows , TeXLive 2024 環境 で uplatex してみたところ W32TeX(2019) 同様に
utf8.uptex
になっていましたので問題はありません漢字-js-hello-uplatex.log の先頭行で確認しました。
1:This is e-upTeX, Version 3.141592653-p4.1.1-u1.30-230214-2.6 (utf8.uptex) (TeX Live 2024) (preloaded format=uplatex 2024.10.17) 19 NOV 2024 19:46
「syntaxファイルについて」の項に関して
次の記述において、言葉足らずで誤解を与えてしまったようです。
結果が報告されていませんでしたが、uplatex 環境ではファイルパスが platex 環境とは違いますね。
結果が報告されていませんでした
当初示されたビルドスクリプトを用いて .pdf .syntax が作成されましたが、 問題の uplatex での処理結果を知りたかったのですが、その件についての報告がなかったことを 端折って記述してしまいました。
uplatex 環境ではファイルパスが platex 環境とは違いますね
.syntax
ファイルに記録されたファイルパスでデイレクトリ部分の情報が uplatex での処理では正く処理されていないですよという意味合いでした。- platex 環境
Input:1:H:/<83>}<83>C<83>h<83><89><83>C<83>u/tex-wk/2024/<93>c<92><86><93>Y<8d>í/./<83>e<83>X<83>g-platex.tex ⇩ ⇩ SJIS コードに表現すると ⇩ Input:1:H:/マイドライブ/tex-wk/2024/田中添削/./テスト-platex.tex
- uplatex 環境(ディレクトリ部分が正しく処理できていない)
Input:1:H:/?}?C?h???C?u/tex-wk/2024/?c???Y??/./<83>e<83>X<83>g-uplatex.tex ⇩ ⇩ SJIS コードに表現すると ⇩ Input:1:H:/?}?C?h???C?u/tex-wk/2024/?c???Y??/./テスト-uplatex.tex
なお、Windows のTeXLive 2024 での uplatex 環境で親ディレクトリが Non-Ascii 文字を含む場合でも .synctex には正くディレクトリパスの処理が行われているようです。
環境変数 command_line_encoding=utf8
以前紹介した ptex2pdfでsynctexファイルの文字化け の 2015年 03月 16日(月曜日) 20:04 - Akira Kakuto の投稿
に記述されている command_line_encoding=utf8
の実験環境が用意できないので検証はできないのですが、
可能であれば uplatex 用のビルドスクリプトに環境変数 command_line_encoding
を utf8
と設定して試すことはできないでしょうか?
具体的には .bat 相当のスクリプトであれば SET command_line_encoding=utf8
を
powershell であれば $env:command_line_encoding "utf8"
だと思います。
(この項、Windows に詳しい人のフォローいただけると幸いです)
帰宅してから通信環境なのか原因が不明ですが
TeXLive2024 インストールに6時間強かかりただいま終了しました。
Pathなど設定し直し uplatex でも synctex が文字化けしないことを確認いたしました。
「初期ロットには手を出すな」をいいわけにアップデートを怠ってきたツケが回ってきたようです。
お付き合いいただきありがとうございました。
> なぜ... latex エンジン、dvipdfx エンジン検出用のテスト用 latex ソースで latex エンジンや dvipdfx の情報が表示できないのかわからないのですが
申し訳ありません。
> ソースはarticle.cls をjsarticle.cls に変更されたのですね
少し話しがかみ合わないなと思いながらも継続していました。
改めて見返したところ,和田様の最初の投稿に hello.tex にリンクが張ってありました。
今回のソースは,私が自作したもので行いました。
了解です。
インストールに長時間要したとのこと、遅いリポジトリサーバに繋がったかもしれませんね。 ISO イメージをダウンロードしておく方法もありますので検討してみてください。 それでも1時間、2時間くらいはかかるので、寝る前に仕掛けて、朝起きたら終わってる感じで気長にやってください。
TeXLive 2024 への移行のことだと理解しました。 が、 TEXMFLOCAL や TEXMFHOME においたものの移植を忘れないようにしてください。 それぞれのディレクトリ情報は、W32TEX 環境で以下のコマンドで確かめ、保存ないし TL2024 インストール後同環境でのそれぞれにコピーしてください。
kpsewhich --var-value TEXMFLOCAL
kpsewhich --var-value TEXMFHOME
TeXLive はデフォルトで 4G 以上、運用には 8G 以上が必要なのですが、 お使いの環境のストレージ領域に余裕があるのであれば、 TeXLive は C:\texlive にインストールされますので、 W32TEX の内容を壊すことはないので、 万が一のため W32TEX はそのまま温存でも良いと思います。 環境変数 Path の設定を W32TEX 用にすれば、W32TEX での処理も可能になりますので。
必要なパッケージなどが TEXMF に配置してあったとかの対処のためにも検討してください。