やっぱり日本語のファイル名が使いたい

やっぱり日本語のファイル名が使いたい

- liki の投稿
返信数: 13
TeX Live 2015のlualatexでも--cmdxが効くようなので、

lualatex --cmdx --synctex=-1 --jobname=""hogehoge 輸送" "hogehoge 輸送.tex"

としてみたけど、やっぱりsynctexのファイル名だけ文字化けしてSumatraPDFの連携ができません。

aux、log、pdfのファイル名は文字化けしていません。

やっぱり無理ですか。

liki への返信

Re: やっぱり日本語のファイル名が使いたい

- Akira Kakuto の投稿
synctex の,この新しい特徴は (e)upTeX と XeTeX だけ
が使うことができます。lua(jit)TeX は,いろいろ特殊
なので,これ以上触りたくありません。すみません。
(ConTeXt の engine なので,ちょっと触ると,
ConTeXt が動かなくなったりします。 --cmdx のように
隠しオプションみたいにしたのも,ConTeXt が動かなく
なるからです。)
Akira Kakuto への返信

Re: やっぱり日本語のファイル名が使いたい

- liki の投稿
ありがとうございます。
残念ですが、あきらめます。
秀丸で祝鳥を使っているので、ファイル名変更マクロでも作ってコンパイルとPDF表示の間に入れてみます。
liki への返信

Re: やっぱり日本語のファイル名が使いたい

- liki の投稿

synctexのファイル名及びファイル内容を変更する秀丸マクロを作成して変換するまではできたが、SmatraPDFが対応していなかった。

hogehoge 表.synctexのようなファイル名はだめみたい。

TeXworksもだめでした。

liki への返信

Re: やっぱり日本語のファイル名が使いたい

- Akira Kakuto の投稿
TeX Live repository には,あべのりさんにより訂正された
synctex_parser_utils が入れてあり,アプリケーション
(SumatraPDF, TeXworks, TeXstudio, など) でそれを使用して
くれれば解決するのですが。
Akira Kakuto への返信

Re: やっぱり日本語のファイル名が使いたい

- Akira Kakuto の投稿
SumatraPDF は,新しい synctex_parser_utils を使用して,
あべのりさん自身がビルドされたものがあります:
http://www.math.sci.hokudai.ac.jp/~abenori/tmp/SumatraPDF.zip
Akira Kakuto への返信

Re: やっぱり日本語のファイル名が使いたい

- liki の投稿

あべのりさんのSmatraPDFで試してみました。

synctexファイルの改行コードがLFでないとだめみたいです。

CR+LFだとうまくいきませんでした。

余談

OSごとの文字コードや改行コードの違いってなんとかならないんですかね。

liki への返信

Re: やっぱり日本語のファイル名が使いたい

- Akira Kakuto の投稿
tounix filename

とすると,テキストファイル filename の endline char が \n となります。
filename が テキストファイル でない場合には,そのファイルはほぼ確実
に壊れます。
Akira Kakuto への返信

Re: やっぱり日本語のファイル名が使いたい

- liki の投稿

ありがとうございます。そのコマンドは知りませんでした。

とりあえず、秀丸マクロで変換できました。

liki への返信

Re: やっぱり日本語のファイル名が使いたい

- 阿部 紀行 の投稿
SumatraPDFは,synctex_parser_utilsに
https://github.com/sumatrapdfreader/sumatrapdf/blob/master/ext/_patches/synctex.patch
にあるパッチをあてて使っているようです.こちらに改行コード対策っぽいコードがあったので,それを適用してビルドしてみました.(SumatraPDFのソースは最新ではないですが…….)
http://www.math.sci.hokudai.ac.jp/~abenori/tmp/SumatraPDF.zip

ただ,そもそも改行コードがLFでない.synctexファイルが作られる可能性ってあるのでしょうか?
阿部 紀行 への返信

Re: やっぱり日本語のファイル名が使いたい

- liki の投稿

ありがとうございます。

>ただ,そもそも改行コードがLFでない.synctexファイルが作られる可能性ってあるのでしょうか?

hoge表.texなどのようなファイルをsynctex付きでコンパイルするとsynctexファイル名及び中身のファイル名部分が文字化けするので、秀丸マクロで変換したら改行コードがLFからCR+LFになってしまいました。

秀丸マクロを書き換えてsavelfで保存するようにしました。

本当はopenfileで開かず、macrodll.dllのFILE_OPENFILEで読み込んで、文字化けだけを修正して改行コードを変えずに書き出したいですが、その方法がわかりません。

liki への返信

Re: やっぱり日本語のファイル名が使いたい

- 阿部 紀行 の投稿
synctex自身はLFで必ずはき出すように見えるので,それを前提としてLFのみ扱えればよい,ということなのかなと思います.直接編集されるのは想定外だったのかもしれません.

> macrodll.dllのFILE_OPENFILEで読み込んで、文字化けだけを修正して改行コードを変えずに書き出したい
おそらく表がUTF-8でどう書かれるか知っている必要がありますよね.ちょっと難しそうに思えます.