9文字のファイル名が扱えない

9文字のファイル名が扱えない

- 福島 邦彦 の投稿
返信数: 9

ファイル名が9文字だと,W32TeX を使用して作製したPSファイルが
GhostScript で表示できない現象が起こり,どのように対処したらよいのか
分からず困っております.

具体的には,以下のような現象が起こります.

TEXファイルの名前の文字数が,9文字の時にだけ発生するエラーです.
class file は,出版社 Elsevier のサイト
  http://www.elsevier.com/wps/find/authorsview.authors/elsarticle
からダウンロードした elsarticle.cls です.

下記のようなファイルを作成して Error9cha.tex というファイル名で保存します.
ファイル名は何でもかまいませんが,半角9文字の場合に問題が起こります.
-----------------------------
\documentclass{elsarticle}
\begin{document}
\begin{frontmatter}
% \title{Error in TeX}
\author{Err Fukushima}
\ead{}
\end{frontmatter}
\end{document}
-----------------------------
\titile は指定してもしなくても結果は同じです.
しかしTEXファイル内に書いた文書の文字にはかなり依存するようで,
文字数が同じでも文字が変わるとこの現象は起こらなくなります.

これを fortex で「PSに変換して表示」を実行します.
TEX->DVI のコンパイルには platex を用いています.
dvipsk のオプションは -Ppdf です.
GhostScript (gs871J gsv49) がエラーを起こして表示できません.
この現象は,TEXファイル名が9文字のときにだけ起こります.

TEXファイル名を9文字以外にしてDVIからPSを作製したときには
問題なく動きます.

9文字のファイル名のPSが出来上がった後に,PSのファイル名を
9文字以外に変更しても,GhostScript ではやはりエラーが出て
表示出来ません.

GhostScript でエラーが起こるPSファイルも,Acrobat Distiller で
PDFに変換すれば正しく表示されます.

しかし,9文字で作成したDVIファイルの名前を,例えば8文字に変更して
DVI->PSに変換した場合は,正しく表示されます.
このようにして作った8文字のPSファイル名を,再び9文字に
書き換えても大丈夫です.

角籐さんの drag-and-drop (drag-drop-tex-w32.tar.gz)
(ddrp-dvipsk,dvipsk.opt には -Ppdf を指定)
でDVI->PSの変換を行なっても,fortex と同じ状態になります.

しかし Command Prompt から
   dvipsk -Ppdf Error9cha    (Error9cha はTEXファイル名)
と打ち込んで出来上がるPSファイルは,GhostScript で正しく表示されます.

この問題は,fortex や drag-and-drop で DVI->PS の変換を行なって,
新しいバージョンの日本語化 GhostScript (gs871J gsv49)
で表示するときに起こるようです.
日本語化 GhostScript は,角籐さんのサイトからダウンロードしました.
エラーが起こるPSファイルも,古いバージョンの GhostScript (gs863J gsv49)
がインストールされているコンピュータ(Windows 7)では正しく表示されます.

現在使用しているTeXシステムは,角籐さんのサイトから3月20日に
ダウンロードした W32TeX Web2C-2010/dev Kpathsea-5.1.0 (last updated
on 2010/03/18) を手動でインストールしました.
阿部さんの kakuto3.exe を用いてインストールしたもう一台のコンピュータでも
同じ現象が起こります.OS はいずれも Windows XP です.
さらに,角籐さんの古いバージョンのTeXシステム(2008年12月にインストール)が
入ったコンピュータ(Windows 7)でコンパイルして出来上がったPSファイルも
同様で,新しいバージョンの日本語化 GhostScript (gs871J gsv49) では
表示できません.(fortex を使用した場合も,drag-and-drop を使用した場合も,
いずれの場合も).

どうやら,dvipsk (command prompt ではなくWindowsから使用した場合) と,
新しいバージョンの GhostScript (gs863J gsv49) との相性が悪いようです.

対策をお教えいただきたく,よろしくお願いいたします.

福島

福島 邦彦 への返信

Re: 9文字のファイル名が扱えない

- 本田 知亮 の投稿
>GhostScript (gs871J gsv49) がエラーを起こして表示できません.

最重要なこの情報がないと誰も何もわかりません
エラーって何ですか?
本田 知亮 への返信

Re: 9文字のファイル名が扱えない

- 福島 邦彦 の投稿

失礼いたしました.

GSview for Windows - Ghostscript Messages

というウィンドウに以下のようなメッセージが出力されます.

GSview 4.9 2007-11-18
Unknown in Comments section at line 9:
  %%DocumentFonts: CMR10 CMTI8 CMR8

Unknown in Prolog section at line 103:
  %%Title: CMR8

Unknown in Prolog section at line 105:
  %%CreationDate: Mon Jul 13 16:17:00 2009

Unknown in Prolog section at line 106:
  %%Creator: David M. Jones

Unknown in Prolog section at line 112:
  %%EndComments

Unknown in Prolog section at line 414:
  %%Title: CMTI8

Unknown in Prolog section at line 416:
  %%CreationDate: Mon Jul 13 16:17:00 2009

Unknown in Prolog section at line 417:
  %%Creator: David M. Jones

Unknown in Prolog section at line 423:
  %%EndComments

Unknown in Prolog section at line 827:
  %%Title: CMR10

Unknown in Prolog section at line 829:
  %%CreationDate: Mon Jul 13 16:17:00 2009

Unknown in Prolog section at line 830:
  %%Creator: David M. Jones

Unknown in Prolog section at line 836:
  %%EndComments

Unknown in Setup section at line 1208:
  %%BeginPaperSize: a4

Unknown in Setup section at line 1213:
  %%EndPaperSize

GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusRomNo9L-Regu font from C:/gs/gs8.71/Resource/Font/NimbusRomNo9L-Regu... 3353172 1915047 1853088 549700 0 done.
Loading NimbusSanL-Regu font from C:/gs/gs8.71/Resource/Font/NimbusSanL-Regu... 3820616 2324531 1873184 558540 0 done.
Displaying DSC file C:/Fuku/TeX/Error9cha.ps
Displaying page 1
Warning: EPS file must not use /statusdict
GPL Ghostscript 8.71: psi\iscan.c(333): Can't refill scanner input buffer!
--- Begin offending input ---

FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247
44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49
603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B
6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C
D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE
276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF
809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22
08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7
3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF
76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5
A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602
3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41
966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18
CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531
2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF
94C15603B86780190595560F792E5EF01650074EA4A9BBC6
--- End offending input ---
file offset = 16768
gsapi_run_string_continue returns -100

福島 邦彦 への返信

Re: 9文字のファイル名が扱えない

- Akira Kakuto の投稿
fortex や drag-drop で作成した ps ファイルと
直接 コマンドラインで作成した ps ファイルを
自分で比較してみると、原因がわかるかもしれません。

Akira Kakuto への返信

Re: 9文字のファイル名が扱えない

- 福島 邦彦 の投稿

コマンド fc で2個のファイルを比較したところ,相違点は以下の箇所でした.

Error9cha_command.ps はコマンドラインで作成したファイルで,
Error9cha_drag.ps は fortex で作成したファイルです.

***** Error9cha_command.ps
%%Page: 1 1
TeXDict begin 1 0 bop 22296 6974 a Fc(Err)368 b(F)-92
b(ukushima)p 6863 12110 38191 45 v 6863 13483 V 6863
65726 15276 45 v 8557 66750 a Fb(Email)340 b(addr)-49
b(ess:)901 b Fa(\(Err)313 b(F)-78 b(ukushima\))6863 70071
y Fb(Pr)-49 b(eprint)340 b(submitte)-49 b(d)340 b(to)g(Elsevier)19216
b(Mar)-49 b(ch)341 b(25,)e(2010)p eop end
%%Trailer
***** Error9cha_drag.ps
%%Page: 1 1
TeXDict begin 1 0 bop Fc 22296 6974 a(Err) 368 b(F) -92
b(ukushima)p 6863 12110 38191 45 v 6863 13483 V 6863
65726 15276 45 v Fb 8557 66750 a(Email) 340 b(addr) -49
b(ess:)p Fa 901 w(\(Err) 313 b(F) -78 b(ukushima\))p
Fb 6863 70071 a(Pr) -49 b(eprint) 340 b(submitte) -49
b(d) 340 b(to)g(Elsevier) 19216 b(Mar) -49 b(ch) 341
b(25,)e(2010)p dyy eop end
%%Trailer
*****

相違点はファイルの最後の箇所で,ファイルのこの後ろには,
次の2行があるだけです.

userdict /end-hook known{end-hook}if
%%EOF

福島 邦彦 への返信

Re: 9文字のファイル名が扱えない

- Akira Kakuto の投稿
明らかに前者は dvips で、後者は dvipsk で作成した ps です。
コマンドラインでは
dvips -Ppdf Error9cha
と入力されたはずです。
(前者には dyy という文が無いでしょう)

両方共に問題のない ps です。
こちらでは dvips で作成したものも、dvipsk で作成したものも
異常なく Ghostscript で表示できます。

なお、 dvips でも正しい ps ができるのは、日本語を含まない
からです。

Akira Kakuto への返信

Re: 9文字のファイル名が扱えない

- 福島 邦彦 の投稿

角籐様,お返事ありがとうございます.

確かにおっしゃるように,connand line からの入力のときに,
誤って dvips と打ち込んで作製したものと比較していました.
大変失礼いたしました.

そこで今度は
   dvipsk -Ppdf Error9cha
と正しく打ち込んで比較してみました.
ほとんど同じ内容のPSファイルが出来上がりました.
しかし,PSファイルの15行目に,使用したコマンドが書かれて箇所が
異なっていました.
コマンドラインからの入力では,拡張子 .dvi を省略して入力していました.
これに対して,drag-and-drop で作製した場合は,ファイル名が
拡張子 .dvi を省略せずに入力されています.
これが両者の違いの原因のようです.

そこで,コマンドラインからの入力でも,拡張子 .dvi を省略せずに,
   dvipsk -Ppdf Error9cha.dvi
と打ち込んでみたところ,出来上がったPSファイルは,GhostScript での
表示に失敗しました.

これまで,GhostScript での表示には関係ないと思って,PSファイルを
比較したときに無視していましたが,%DVIPSCommandLine: の内容が,
GhostScript での表示に影響しているようです.
コマンド
   dvipsk -Ppdf Error9cha
で作製したものには,
   %DVIPSCommandLine: dvipsk -Ppdf Error9cha
が書き込まれ,
   dvipsk -Ppdf Error9cha.dvi
で作製したものには,
   %DVIPSCommandLine: dvipsk -Ppdf Error9cha.dvi
が書き込まれています.

そこでエディターでPSファイルの
   %DVIPSCommandLine: dvipsk -Ppdf Error9cha.dvi
の行の,.dvi を書いたり消したりして試してみました.
GhostScript で表示を試みると,.dvi を書き込んだファイルは表示に失敗します.
表示に失敗したPSファイルも,この箇所の .dvi をエディターで消すと,
GhostScript (gs871J gsv49) でも正しく表示できます.

GhostScript では,表示のときに,PSファイル内の
   %DVIPSCommandLine:
の内容までチェックして異なった操作をするようにしているのでしょうか.

福島 邦彦 への返信

Re: 9文字のファイル名が扱えない

- Akira Kakuto の投稿
> %DVIPSCommandLine:
> の内容までチェックして異なった操作をするようにしているのでしょうか

私のところでは、再現しようとして gs 関係の setting をいろいろ
変えても不具合を再現できません。コメントなので一般には
影響がないのですが、application が DSC を解釈して振る舞い
を変えることはあり得ます。
gsview の設定で
Ignore DSC
をチェックすると問題なくなるかも知れません。

Akira Kakuto への返信

Re: 9文字のファイル名が扱えない

- 福島 邦彦 の投稿

お教えいただいたように,gsview の設定で
   Ignore DSC
をチェックすると問題なくなりました.
(古いバージョンの GhostScript (gs863J gsv49) では,
チェックを入れなくても問題なかったのですが).

とりあえず Ignore DSC にチェックを入れて使用することにいたします.

ご親切なアドバイス,いろいろとありがとうございました.

福島 邦彦 への返信

Re: 9文字のファイル名が扱えない

- Akira Kakuto の投稿
同じサンプル
\documentclass{elsarticle}
\begin{document}
\begin{frontmatter}
% \title{Error in TeX}
\author{Err Fukushima}
\ead{}
\end{frontmatter}
\end{document}

ファイル名 Error9cha.tex

を ddrp-dvipsk.exe
dvipsk.opt の内容は
-Ppdf

でやってみましたが、全く正常でした。
Ghostscript 8.71 でエラーが起こることもありません。
何かほかの原因があるのでしょうね。