texlive2012 でファイル名を日本語にしたものが見つからないとエラー

texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 松永 従道 の投稿
返信数: 10
お世話になります。

CentOS 6.3 , 64bit , utf8 の環境です。
install-tl-20121023 にて、インストールを実施しました。
CentOS のものはインストールしていません。

それで、
\input{日本語.tex}
\includegraphics[width=24mm]{写真.jpg}
のように、日本語(utf8)のファイル名をつけたものを
読み込もうとすると、
! LaTeX Error: File `日本語.tex' not found.
となってしまいます。

以前、fedora14(32bit)で、texlive2010 を使っていたときは、正常に動いていました。

また、"platex 日本語.tex"  でコマンドを起動すると、
------------------------------
This is e-pTeX, Version 3.1415926-p3.3-110825-2.4 (utf8.euc) (TeX Live 2012)
 restricted \write18 enabled.
entering extended mode
(./訖^97ユ^^9cェ^^9e.tex  ←※ここ
pLaTeX2e <2006/11/10> (based on LaTeX2e <2011/06/27> patch level 0)
-----------------------------
となって、日本語ファイル名の部分が文字化けしているのも気になります。
(文字化けは、ファイル名の部分だけです)

ファイル名に日本語を使うな、と言われればそれまですが、
漢字とローマ字(または英語)では、使い勝手がずいぶん違います。

これは、私がインストールに失敗しているのでしょうか。
それとも、何か、特別な設定が必要ですか。
松永 従道 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 上田 完 の投稿
他に手があるかもしれませんが、とりあえず uplatex を使えば解決されるかと。
上田 完 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 松永 従道 の投稿
uplatex の存在を知りませんでした。

これで解決できそうですね。
職場のPCですので、月曜日に試してみます。

松永 従道 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 前田 一貴 の投稿
試したところ,-kanji=euc を付けておけば(つまり文字コードを変換しない),
ファイル名が UTF-8 でも \input できますね.
もちろん UTF-8 な本文も EUC で読むので壊滅しますが.
予想ですが,ソース中の UTF-8 で書かれたファイル名を EUC に変換してから読み込もうとするので
失敗するのではないでしょうか.
前田 一貴 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 松永 従道 の投稿
納得です。

EUCが元なんですね。
今のところ、platex では、どうしようもないのかぁ。

松永 従道 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 匿 名 の投稿

Debian GNU/Linux sid x86_64 の TeX Live 2012 でテストしてみました.
日本語ファイル名を input しようとすると松永さんと同様エラーになりました.
とりあえず Wine をインストールして W32TeX の platex を使用すると
エラーにならずにコンパイルできるみたいです.

匿 名 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 松永 従道 の投稿
了解。Debian でも同じですか。

他のディストリビューションで動くなら、換えてもいいんですが、
そういう問題ではないですね。
松永 従道 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 上田 完 の投稿
逆に、platex でなければならない理由というのは何なのでしょうか。

# まあ個人的には日本語ファイル名ってまず使わないので関係ない話ではある
# んですが。

上田 完 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 松永 従道 の投稿
platex にこだわっている訳ではありません。
Windowsの環境と、Linux の環境で同じLaTeXソースが使えればいいなと思っています。

platex を使おうとすると、Linuxでこける。
uplatex を使うと、windows でこける。(utf8でファイルを探しにいっているからと思われる)

で、両者を移動するたびにソースの書き換えが発生するのはちょっと面倒かな、と。

※写真の取り込みで、写真のファイル名がその人の名前(日本語)になっているもので。

松永 従道 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 名称 未設定 の投稿
ちょっとトリッキーですが、一時的にファイル名の文字コードを変換しておくとかは駄目ですか。

#!/bin/sh
convmv -f utf8 -t euc-jp * --notest
platex $1
dvipdfmx `basename $1 .tex`
convmv -f euc-jp -t utf8 * --notest

これを適当な名前で保存 (mypdflatex.sh) しておいて、

./mypdflatex.sh hoge.tex

とかならファイル名をローマ字にしなくてもいけますかね。。。Windows であれば、

convmv -f cp932 -t utf8 * --notest

とでもなるでしょうか。
名称 未設定 への返信

Re: texlive2012 でファイル名を日本語にしたものが見つからないとエラー

- 松永 従道 の投稿
面白いこと考えますねぇ。
仕事で使うPCなので、ちょっと勇気が出ません。

とりあえず、日本語を極力使わないことと、シンボリックリンク等で
しのぎます。

ファイルシステムと異なる文字コードを使うと、いろいろ問題が出ますね。
DOS時代にもどったような。。。。