文字の前後の空白

文字の前後の空白

- 匿 名 の投稿
返信数: 16
はじめまして。

Texworksで論文を書いているのですが、PDFにすると全角丸括弧[(]や、中点[・]の前後の空白の大きさが不均一のためどうしても見た目が悪くなります。

これはなぜなのでしょうか?一応参考画像として、PDFにした時のスクリーンショットのURLを貼っておきます。

回答よろしくおねがいします。



https://www.dropbox.com/s/wce6d800y5m2fv9/sample.jpg
匿 名 への返信

Re: 文字の前後の空白

- 山本 和義 の投稿
変ですね.pTeXを中核としたシステムを通常の構成で用いた場合にはこのような組版はされないと思います.もっと詳しい状況を説明して第三者に状況を再現してもらうことができるなら,適切なアドバイスが得られるかもしれません.

ちなみにですが,約物がプロポーショナル幅であるような日本語フォントを,専用の jfm, vf を作らずに無理やりな形で使った場合にこれに近い状況を見たことがあります.
山本 和義 への返信

Re: 文字の前後の空白

- 匿 名 の投稿
返信有難う御座います。

やはり変なのですね…。

環境ですが、Ubuntu12.04にTeXLive2012を入れて使用しています。別のwindowsマシン(XP TeXLive2012)でも同じ現象が確認されました。

導入には以下のHPを参考にしています。

http://skalldan.wordpress.com/2011/08/26/ubuntu-%E3%81%A7-tex-live-2011-%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B-2/

http://blog.livedoor.jp/vine_user/archives/51909130.html

また、先程DVIファイルを確認したところこちらは正常に表示されていました。DVIからPDFにはdvipdfmxを使用しています。


どうかよろしくおねがいします。
匿 名 への返信

Re: 文字の前後の空白

- 上田 完 の投稿
もとの .tex ファイルと PDF それ自身を出してもらって、あと dvipdfmx で参照している
フォントマップを明示すればもう少し状況が分かりやすくなると思いますが。
上田 完 への返信

Re: 文字の前後の空白

- 匿 名 の投稿
ご指摘ありがとうございます。

フォントマップについては、未熟者のためどこにあるかわかりましせん。ファイルの場所、もしくは場所の確認方法など教えてもらえると助かります。

また、以下のURLに.texファイル、PDFファイル、DVIファイルを上げておきますので参考にしてください。


よろしくおねがいします。


https://www.dropbox.com/sh/myokm2890lz95g5/0p5afCOpvp
匿 名 への返信

Re: 文字の前後の空白

- 山本 和義 の投稿
うーむ,upされた sample.pdf をこちらで見ると正常に見えますね(jpg とは見え方が異なる).pdf で使われている日本語フォントは,非埋め込みの Ryumin-Light であり,これはごくごく普通な,つまり正常といっていいものです.sample.tex, sample.dvi もこちらで見た限りでは,特に変なことをしたものではなく,正常なファイルと思えます.

まずは,TeXworks 以外のビューアで「up された sample.pdf」を閲覧してください.複数のOSで確かめられるならなお良いです.これでうまく見えないなら重症かもしれません.この場合には,実フォントに何が使われているか等を調べていくことになります.TeXworks のビューアのみがおかしい見え方をするなら,やはり TeXworks が実フォントとして何を用いているのか,あるいは,TeXworks のビューアの挙動を調べなければならないでしょう.
匿 名 への返信

Re: 文字の前後の空白

- 奥村 晴彦 の投稿
TeXworksのPDFビューアは和文フォントを埋め込んでいないと表示されないと思っていたのですが,Ubuntu上では表示されるのですね!

Adobe Reader(Linux版も含め)なら正しく表示されると思いますが,どうでしょうか。

IPAフォントを埋め込む設定にすればTeXworksでも正しく表示できると思います。

ちなみに,これとはおそらく別の話になりますが,dvipdfmxはフォントを埋め込まないと正しくないPDFを生成する(普通は問題なく表示できるけれども)という話が今進行中です:

PDFの作り方 - TeX Wiki
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?PDF%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9
「なお、dvipdfmx はフォントを埋め込まないと仕様に違反した PDF を生成するようです。日本語版 dvipdfm にはこの問題はないようです。」
奥村 晴彦 への返信

Re: 文字の前後の空白

- 奥村 晴彦 の投稿
@munepixyz さんから教えていただきました:

http://twitter.com/munepixyz/status/292055952033714176
evinceやTeXWorksのPDFプレビューは、非埋込ならば、$ fc-match Ryumin-Light、$ fc-match GothicBBB-Mediumでマッチするフォントが使われます。IPAPMinchoとかがマッチしているかもしれません。
匿 名 への返信

Re: 文字の前後の空白

- 上田 完 の投稿
TeX Live 2012 を使われているのでしたら、下記 (1) か (2) で対応可能ではないかと。

(1) updmap-setup-kanji コマンドで、default で埋め込むフォントを設定する。
(2) texworks で日本語 LaTeX を使うためのラッパー(pdfplatex 等?)で、
    dvipdfmx を使っている行で、-f オプションでフォントマップを明示的に
    指定する。たとえば、
    では、ptex-ipaex.map を指定して IPA ex フォントを埋め込んでいる。
匿 名 への返信

Re: 文字の前後の空白

- 匿 名 の投稿
皆様ご回答ありがとうございました。

奥村さんの言われる通り、Adobe Readerで読み込んでみると正しく表示されました。

また、上田さんの言われた方法を使って(参考:http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeXworks%2F%E8%A8%AD%E5%AE%9A%2FLinux)TeXworksのタイプセットの設定を行なって、ptex-ipaex.mapの埋め込みをしたところTexworksのビューアでも正しく表示させることができました。

皆様、ありがとうございました。


これで、Ubuntuでの問題は一応解決したのですが、XPでの同様の問題が解決しません。

以下のURL(http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?cmd=read&page=TeXworks%2F%E8%A8%AD%E5%AE%9A%2FWindows)のLatexmk1のタイプセットの設定を行ったのですが、タイプセットを行うと

**WARNING** Couldn't open font map file "ptex-ipaex.map"

というエラーメッセージが表示され和文フォントが埋め込まれていないようなのです。ですので、TeXworksのPDFビューアでは日本語が表示されません。Adbe Readerでは正しく表示されます。


良ければこちらの方の回答もよろしくおねがいします。

匿 名 への返信

Re: 文字の前後の空白

- Akira Kakuto の投稿
dvipdfmx -f ipaembed.map filename
を確かめてください。

 

Akira Kakuto への返信

Re: 文字の前後の空白

- Akira Kakuto の投稿
但し、フォント自身は自分でインストールする必要があります。

 

Akira Kakuto への返信

Re: 文字の前後の空白

- Akira Kakuto の投稿
XP の場合も TeX Live をお使いの場合、上の二つの投稿は
無視して下さい。

 

Akira Kakuto への返信

Re: 文字の前後の空白

- 匿 名 の投稿
回答ありがとうございました。

XPでもTeX Live 2012を使用しております。


ちなみに、XPのTeX Live command-lineで

dvipdfmx -f ptex-ipaex.map sample.dvi

を実行するとフォントが正しく埋め込まれます。


匿 名 への返信

Re: 文字の前後の空白

- 匿 名 の投稿

私の環境 (Windows 7 SP1 64bit) では
TeX Live の場合の Latexmk1 の設定が問題なく動作するようです.
TeXworks は引数に自動的にダブルクォーテーションを追加するみたいなので
設定の仕方に注意する必要があると思います.
設定する場合はバッチファイルやシェルスクリプトを作成して
呼び出す方がおすすめです.
Windows 版の TeXworks のビューアは poppler をビルドした時の設定によって
フォントの表示方法が変わります.
デフォルトでは win32 でビルドされます.
この場合現在の TeXworks が使用している poppler のバージョンでは
日本語のフォントを埋め込んでいないと表示されません.
poppler 0.19.2 以降を使用している場合は
埋め込んでいない場合は MS-Mincho で表示されます.
poppler を fontconfig を使うように設定してビルドした場合は
Linux と同様に fontconfig を適切に設定することによって
フォントを埋め込まなくても設定したフォントで表示することが可能です.
Windows 版の Evince も TeXworks と同様に
フォントを埋め込んでいないと日本語が表示されませんが
poppler を fontconfig を使うように設定してビルドすると
フォントを埋め込まなくても設定したフォントで表示されます.
MinGW で Evince をビルドして実際に確認しました.
今のところ TeXworks や Evince は
最新版の poppler を使用していないと思われるので
これらのビューアを使用して PDF ファイルを表示する場合は
フォントを埋め込んで使用するのがいいと思います.

匿 名 への返信

Re: 文字の前後の空白

- 匿 名 の投稿
回答ありがとうございます。返信が遅くなり申し訳ありません。

ネットで調べたところlatexmkの設定ファイルはlatexmkrcと言うのを作ればよいと言うことなので、そのファイルを作成したのですが、どこにおけばそのファイルを参照してくれるかが分からず、うまく行きませんでした。


ちなみにlatexmkrcファイルを.texファイルと同じディレクトリに置き、コマンドラインでlatexmkを実行するとうまくフォントを埋め込むことができました。

匿 名 への返信

Re: 文字の前後の空白

- 山本 和義 の投稿
設定ファイルがどこから読み込まれるかは,latexmk のマニュアルに書かれています.

%%% latexmk.1(latexmk.pdfも存在する) より引用(制御コードは削除してあります) %%%
2) The user's RC file, "$HOME/.latexmkrc", if it exists.  Here $HOME
is the user's home directory.  [Latexmk determines the user's
home directory as follows:  It is the value of the environment variable
HOME, if this variable exists, which normally is the case on UNIX-like
systems (including LINUX and OS-X).  Otherwise the environment
variable USERPROFILE is used, if it exists, which normally is the case
on MS-Windows systems. Otherwise a blank string is used instead of $HOME.]

3) The RC file in the current working directory.  This file can be
named either "latexmkrc" or ".latexmkrc", and the first of these to be
found is used, if any.
%%% 引用終わり %%%

これを見ると分かるように,「latexmkrc」はカレントディレクトリのみです.
「.latexmkrc」だと,WindowsXP なら「Documents and Settings\ユーザ名\」
に置けば読んでくれるようです.まあ,latexmk の version による違いも
あるかもしれませんが.

しかし,設定ファイルを既定の場所に置けばそれで問題は解決するのだろうか...