texのファイルにPDFの図を入れる方法

texのファイルにPDFの図を入れる方法

- 三島 健 の投稿
返信数: 10
はじめて投稿します。よろしくお願いいたします。
texのファイルにPDFの図を入れようとしているのですが、いろいろネットも調べてみたのですが、どうしてもうまくいきません。
そこで、ある学会のサンプルプログラムをコンパイルしてみました。
ソースは以下の通りです。
\begin{figure}
\centering
\includegraphics{fly}
\caption{A sample black and white graphic (.pdf format).}
\label{fig:fly}
\end{figure}
ソースと同じディレクトリにfly.pdfというファイルが存在します。
コンパイルすると
! LaTeX Error: File `fly' not found.
と表示されます。たぶん、拡張子(.pdf)が無いからだろうと思って、拡張子を追加しました。こんな感じです。
\begin{figure}
\centering
\includegraphics{fly.pdf}
\caption{A sample black and white graphic (.pdf format).}
\label{fig:fly}
\end{figure}
すると、
! LaTeX Error: Cannot determine size of graphic in fly.pdf (no BoundingBox).
というエラーがでました。
ネットを見たところ、extracbbを実行する?とありましたが、これでもうまくいきません。どなたか、解決策をご教授頂けないでしょうか?
よろしくお願いいたします。

三島 健 への返信

Re: texのファイルにPDFの図を入れる方法

- Akira Kakuto の投稿
部分ではなくて,処理可能な完全なファイルを提示しなければいけません。

以下のファイル test.tex で
latex test
latex test
dvipdfmx test
としてみて下さい。extractbb を実行する必要はありません。

% test.tex
%
% latex test.tex
% latex test.tex
% dvipdfmx test
%
\documentclass[dvipdfmx,12pt]{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\includegraphics{fly}
\caption{A sample black and white graphic (.pdf format).}
\label{fig:fly}
\end{figure}
\end{document}
Akira Kakuto への返信

Re: texのファイルにPDFの図を入れる方法

- 三島 健 の投稿
こんにちは!早速お返事ありがとうございます!
頂いたサンプルプログラムを実行したら、xdviで表示すると図が消えているのですが、これは正常でしょうか?
dvipdfmxでpdfファイルを出力するとpdfファイルの中に図が入っていました。

次に新たな問題が発生してしまいました。
日本語が表示されません。例えば、
\documentclass[dvipdfmx,12pt]{article}
\usepackage{graphicx}
\begin{document}
こんにちは!
\begin{figure}
\centering
\includegraphics{fly}
\caption{A sample black and white graphic (.pdf format).}
\label{fig:fly}
\end{figure}
\end{document}
というファイルをコンパイルすると。
まず、xdviで表示すると、日本語が見えますが図は表示されません。
次にdvipdfmx でdviファイルからpdfファイルに変換すると、図は見えますが日本語が表示されません。
この例の場合は「こんにちは!」が表示されません。
解決方法が分かりましたらご教授願います。
よろしくお願いいたします。


三島 健 への返信

Re: texのファイルにPDFの図を入れる方法

- 荻原 洋介 の投稿
すでにKakuto さんがご指摘していますが,ソースを書く場合にはプリアンブルも添付されるとどこでミスしているのかが分かり易いです.

また,includegraphicsについてですが,例えば
\includegraphics[width=4cm]{hoge.eps}
のようにすれば,hoge.epsが4cmで表示されますし,エラーになることは少ないと思いますが,拡張子がある方が普通かと思います.

蛇足です.
荻原 洋介 への返信

Re: texのファイルにPDFの図を入れる方法

- 三島 健 の投稿
ご返信ありがとうございます!
widthで大小大きさが変わることが確認できました。
ありがとうございます!

Kakutoさんの返信にも書いたのですが、日本で問題があります。
pdfファイルに日本語が表示されません。例えば、
\documentclass[dvipdfmx,12pt]{article}
\usepackage{graphicx}
\begin{document}
こんにちは!
\begin{figure}
\centering
\includegraphics{fly}
\caption{A sample black and white graphic (.pdf format).}
\label{fig:fly}
\end{figure}
\end{document}
というファイルをコンパイルすると。
まず、xdviで表示すると、日本語が見えますが図は表示されません。
次にdvipdfmx でdviファイルからpdfファイルに変換すると、図は見えますが日本語が表示されません。
この例の場合は「こんにちは!」が表示されません。
解決方法が分かりましたらご教授願います。
よろしくお願いいたします。

三島 健 への返信

Re: texのファイルにPDFの図を入れる方法

- Akira Kakuto の投稿
日本語が入った場合は,使用しておられる encoding が UTF-8
であると仮定して

platex -kanji=utf8 test
platex -kanji=utf8 test
dvipdfmx test

とします。

dvi viewer の xdvi については,知らないのですが,おそらく pdf 画像は
表示できないのではないかと思います。
Akira Kakuto への返信

Re: texのファイルにPDFの図を入れる方法

- Akira Kakuto の投稿
> まず、xdviで表示すると、日本語が見えますが図は表示されません。
> 次にdvipdfmx でdviファイルからpdfファイルに変換すると、
> 図は見えますが日本語が表示されません。
> この例の場合は「こんにちは!」が表示されません。

xdvi で日本語が見えるという部分を見落としていました。
そうすると,platex あるいは uplatex が使用されて,
dvi は正しくできていると思われます。
日本語に対してどのフォントを使用するかを記述した map ファイル
がちゃんとしていないのかも知れません。

dvipdfmx -vv test.dvi

とすると,詳しいメッセージが出るので,自分で調べて下さい。

使用している TeX distribution は何ですか?
Akira Kakuto への返信

Re: texのファイルにPDFの図を入れる方法

- 三島 健 の投稿
Kakuto様

お返事ありがとうございます。
dvipdfmx -vv test.dvi
を実行すると、

mishima@ubuntu:~/vm/papers/test$ dvipdfmx -vv test.dvi
<FONTMAP:/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map><FONTMAP:/var/lib/texmf/fonts/map/dvipdfmx/updmap/kanjix.map><FONTMAP:/usr/share/texlive/texmf-dist/fonts/map/dvipdfmx/ckx.map>test.dvi -> test.pdf
DVI Comment: TeX output 2020.01.06:2230
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1(Image:fly.pdf[./fly.pdf][PDF],Page:1)<min10@11.96pt(TFM:min10[/usr/share/texmf/fonts/tfm/dvips/min10.tfm])(VF:/usr/share/texmf/fonts/vf/dvips/min10.vf(TFM:rml[/usr/share/texmf/fonts/tfm/dvips/rml.tfm])<rml@11.50pt
fontmap: rml -> Ryumin-Light(H)[noemb]
(CMap:H)
pdf_font>> Input encoding "H" requires at least 2 bytes.
pdf_font>> The -m <00> option will be assumed for "Ryumin-Light".
(CID:Ryumin-Light)
pdf_font>> Type0 font "Ryumin-Light" cmap_id=<H,2> opened at font_id=<rml,0>.
>)(VF)><cmr12@11.96pt(TFM:cmr12[/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm])
fontmap: cmr12 -> cmr12.pfb

pdf_font>> Simple font "cmr12.pfb" enc_id=<builtin,-1> opened at font_id=<cmr12,1>.
>](cmr12.pfb[CMR12][built-in][Type1][26 glyphs][3222 bytes])(CID:Ryumin-Light[Ryumin-Light][CIDFontType0])
Compression saved 1546 bytes
6634 bytes written
mishima@ubuntu:~/vm/papers/test$
こんな表示がでます。何かわかるでしょうか?

TeXディストリビューションとは何でしょうか?
ubuntsuでplatexを使っています。
よろしくお願いいたします。


三島 健 への返信

Re: texのファイルにPDFの図を入れる方法

- Akira Kakuto の投稿
> TeXディストリビューションとは何でしょうか?
> ubuntsuでplatexを使っています。

OK です。

> fontmap: rml -> Ryumin-Light(H)[noemb]

map ファイルは間違っているのではなくて,
Ryumin-Light の場合は,フォント埋め込みしないと
なっています。この場合,PDF viewer によっては日本語が見えない
のですが,しかるべき viewer では見えると思います。
Akira Kakuto への返信

Re: texのファイルにPDFの図を入れる方法

- 三島 健 の投稿
Kakuto様

windowsのAcrobat readerで見たら日本語が見えました。
xpdfが日本語に対応していないんですね。
ありがとうございます!
三島 健 への返信

Re: texのファイルにPDFの図を入れる方法

- m c の投稿
dvipdfmxがPDFを作成するときに日本語フォントを埋め込んでいないのでxpdfでは表示されない,というのが
実際の現象だと思います.
Acrobatはそのような場合,Acrobat自身が持っているフォントで代替表示します.

dvipdfmxにPDF作成時に埋め込むフォントを設定しておけばよいかと思います.
以下をご参考に:
https://texwiki.texjp.org/?dvipdfmx%2F%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%81%AE%E8%A8%AD%E5%AE%9A
https://texwiki.texjp.org/?TeX%E3%81%A8%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88#ge692ee0
#ubuntuをお使いとのことですので,IPAフォント,IPAexフォントは既に導入済みのはずです