platex -> dvips -> ps2pdf

platex -> dvips -> ps2pdf

- amano ikumi の投稿
返信数: 15
MacTeX2014を使っており,TeXShopでソースを書いてtypesetしています.
psfragを使いたいために,既存のplatex -> dvipdfmxという手順ではなく,タイトルにあるようにplatex -> dvips -> ps2pdfという手順でtypesetしたいのですが,これをターミナルで実行したところ,日本語の変換,複数ページのコンパイル(platexの時点)に失敗しました.
おそらく使っているghostscriptの問題だと思いますが,タイトルのようにするにはどうすればよろしいですか.
amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- 匿 名 の投稿
図版の中の文字列を置き換えることが趣旨であれば、psfragの代替はいくつかあります。
例えば、CTANにあるfragmasterを使えばEPS画像の中の文字を数式などに置き換えたepsとpdfを出力しますので、それを\includegraphics{}で読み込んで通常通りdvipdfmxを使うことが出来ます。その他にも、psfragger (Windowsのみ)も同様の機能があります。
なお、置き換える文字列が日本語の場合は、試したことがないので、うまくいくかどうか分かりません。

とここまで書いて、ghostscriptの問題なら、fragmasterも同様に動作しないであろう事に気がつきました。役に立たないコメントで済みません。
匿 名 への返信

Re: platex -> dvips -> ps2pdf

- amano ikumi の投稿
ご回答ありがとうございます.
新しい情報を手に入れることができたので満足です.

psfragですが,普段tgifで図を描いて文字を書きたいところに半角英数字を置きeps出力します.その後,プリアンブルに
\usepackage[dvips]{psfrag, graphicx}
と書いて,ターミナルでplatex -> dvips -> ps2pdfとしています.
数ヶ月前までps2pdfの段階でIPAフォントが見つからないなどと訳のわからないエラーが出されて日本語への変換がうまくできませんでしたが,ghostscript内のshare/ghostscript/9.05/Resource/FontにIPAMincho-Hというファイルを作って,日本語変換を実現しました.
なぜか日本語はIPAフォントに変換するようになっていたのですが,IPAフォントの変換情報がなかったようです.
とにかく謎が多いです,Ghostscriptは.


amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- KUROKI Yusuke の投稿
サンプルとコマンド列の例示をいただけませんか? 勝手にGhostscriptを悪者にされるのは我慢なりません.
KUROKI Yusuke への返信

Re: platex -> dvips -> ps2pdf

- amano ikumi の投稿
Ghostscriptが悪いというより,defaultのGhostscriptが私の使いたいシステムに向いていないようです.
お気に障ったのでしたら,お詫び申し上げます.

今サンプルを作っている途中なので,少々お待ちください.
ちなみに質問ですが,プリアンブルに
\usepackage[dvips, dvipdfmx]{psfrag, graphicx}
と記述しても問題ありませんか?
オプションに2ついれるのはありかってことです.
amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- KUROKI Yusuke の投稿
> \usepackage[dvips, dvipdfmx]{psfrag, graphicx}
> と記述しても問題ありませんか?

ほとんどの場合,DVIドライバを指定するオプションを複数書くのは避けたほうがよいです.
正確にはパッケージごとにドキュメントやソースを見ないとわかりませんが.
KUROKI Yusuke への返信

Re: platex -> dvips -> ps2pdf

- amano ikumi の投稿
以下のようにすると,解決しました.

*MacTeX付属のGhostscriptを削除
*Ghostscript.appをダウンロード(Pathも通す)

以上です.大袈裟にして申し訳ありませんでした.

また,その質問も意味があり,pdfを図として貼り付けようとするとダメのようでした.
以上です.ご迷惑をおかけしました.
amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- 本田 知亮 の投稿
>ちなみに質問ですが,プリアンブルに
>\usepackage[dvips, dvipdfmx]{psfrag, graphicx}
>と記述しても問題ありませんか?

一般にNGだと思ってください.
たまたま偶然処理可能なケースがある程度です.

ちなみに拘わっている案件で「動かない」ということの
もっとも多い原因が「ドライバの指定ミス」です.
先日はpdflatexで動かないとクレームをうけたのですが
原因は,プリアンプルに
\usepackage[dvips]{graphicx}
と書かれていたことでした.

psfragはdvips専用と思う方がいいです.
ですので,この場合,

\usepackage[dvips]{psfrag}
\usepackage[dvips]{graphicx}

がまあ,鉄板でしょうね.

ちなみにpsfragは未対応のドライバに流すと
出力結果に「こう置き換えるだよ」的な文章を
出力するだけです。

おまけ:
pdfを画像として読み込むには
dvipdfmxかpdftex(pdflatex)を使うことになります.
したがって,psfragはNGだと思います
#psfragってpdflatexでNGですよね,たぶん.

どうしてもpsfrag+PDFでいきたいのならば
一旦,psfragで文字を置換したpsを作って
それをpdfにするしかないように思います.
本田 知亮 への返信

Re: platex -> dvips -> ps2pdf

- amano ikumi の投稿
ありがとうございます.
以後,オプションは連記せずに分けて書くようにします.

psfragを使うとなると,考えられるのがタイトルの手順なんですけどね.
ps2pdfでps ->pdfに変換する際に文字の置換がされると思っていますが,合っていますか.
amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- Akira Kakuto の投稿
> psfragを使うとなると,考えられるのがタイトルの手順
> なんですけどね.
> ps2pdfでps ->pdfに変換する際に文字の置換がされると
> 思っていますが,合っていますか.

そうではなくて,dvips の段階で置換されます。
Akira Kakuto への返信

Re: platex -> dvips -> ps2pdf

- amano ikumi の投稿
そうなんですか.

2つのghostscriptでps2pdfを行って,一方は文字化けだらけで,他方は正常に変換できたので,そうかなーって思ってましたが,dvipsの段階なんですね.

ありがとうございます.
amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- 匿 名 の投稿
tgifですか。懐かしい。ご年配の方ですね。
tgifで書いた図に数式を入れるのはtgif2texが定番だった記憶がありますが、
tgif2texってWindowsでは動かないのでしたっけ?
匿 名 への返信

Re: platex -> dvips -> ps2pdf

- amano ikumi の投稿
残念ながらまだ20代です(笑)

普段はOpenOffice.orgのdrawを使って作図しています.OpenOffice.orgも図をeps出力できるのですが,psfragが使えません.なので,psfragを使いたい時にtgifを使っています.

tgif2texは初耳ですが,それは日本語入力が可能ですか?
amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- 本田 知亮 の投稿
>OpenOffice.orgも図をeps出力できるのですが,psfragが使えません

PSfragはepsの中で置換対象文字列が

(ABC)

のようになっていないと使えません.
(ABC)となっていれば,ABCが置換可能ですが.
カーニングやらいろいろなものが挿入されて
(ABC)というのがなくなってしまえば
置換できません
#見た目がABCでもPSの記述では
#(AB) -1 -1 move to (C) みたいになっているとアウト
##PSのコードはいい加減なものですのであしからず

これをさけるにはEPS中の置換対象文字列を
すべて英数字1文字にしてしまうことが考えられます.
本田 知亮 への返信

Re: platex -> dvips -> ps2pdf

- amano ikumi の投稿
詳しい解説をありがとうございます。
ところで、tgif以外にPSfragを使うことのできるeps画像を出力するドローソフトは何がありますか?
あれば、できればフリーソフトを教えて欲しいです。
amano ikumi への返信

Re: platex -> dvips -> ps2pdf

- 匿 名 の投稿
LaTeXを使うならドロー図にTikZはどうですか?
私も以前はDraw(もっと以前はtgif)を使っていましたが、TikZをある程度自由自在に書けるようになると、便利すぎて、TikZじゃないとだめになりました。
TikZなら、PSfragが必要になるようなこともありません。
そのまま当該文字列を直接書き換えればいいだけなので。

また、定番ドローソフトのinkscapeだと、inkscape2tikzとかTikZに出力できる仕組みもあります。
Graphvizを使う人なら、dotからTikZに持って行く方法もあるようです。