PDF ファイルへの 3D モデルの埋め込み

PDF ファイルへの 3D モデルの埋め込み
鶴田直也 [[email protected]]
September 6, 2012
1
はじめに
このファイルは Windows+MikTex(XeLaTex)+movie15_dvipdfmx+u3d で生成したものです。最初に MikTeX をインス
トールし、movie15_dvipdfmx.sty を適当なディレクトリに置いて下さい。u3d 形式の 3D モデルは MeshLab で作成できます。
Ubuntu+platex+dvipdfmx でも確認済みですが、いくつかの問題について 3.1 章を参照して下さい。5 章にはリンクがまとめて
あります。
正二十面体の 3D モデル
図 1. 正二十面体. 右クリックで描画方法などの変更ができます.
2
ソースコード(埋め込みに関する部分のみ抜粋)
\usepackage[bookmarks=false, pdfborder={0 0 0}]{hyperref}
\usepackage[english]{babel}
\usepackage[dvipdfmx,3D]{movie15_dvipdfmx}
• hyperref のオプションは特に指定しなくても大丈夫です。
• babel パッケージを english オプションで使用します。japanese だとダメみたいです。
• movie15_dvipdfmx を使用します。これは movie15 にパッチ当てたもの (?) のようです。
\includemovie[
poster,
text=正二十面体の3Dモデル,
3Daac=60, 3Droll=10, 3Dc2c=0 90 0, 3Droo=2, 3Dcoo=0 0 0,
3Dlights=CAD,3Drender=TransparentWireframe
]{0.2\linewidth}{0.2\linewidth}{icosahedron.u3d}
1
• オプションで代替テキスト、3D オブジェクトの視点、ライティング、レンダリングなどの初期設定が指定できます。詳細は
movie15 の説明書を読んで下さい。text=includegraphics[]{} のように画像を指定すると、未対応リーダでは画像を表示
する、といったことが可能のようです。
• 描画領域の幅、高さ、読み込む 3D モデルは必須です。
日本語を使用する際の問題点
3
このままだと babel パッケージによって図表のラベルが “Figure 1:” とかになってしまいます。これを変更する場合にはプリア
ンブルで「コロンをドットに変更」して、本文で「“Figure” を “図” を変更」しなければなりません。
%図の:を.に変更
\makeatletter
\long\def\@makecaption#1#2{
\vskip\abovecaptionskip
\sbox\@tempboxa{#1. #2}
\global\@minipagefalse
\hbox to\hsize{\hfil\box\@tempboxa\hfil}
\vskip\belowcaptionskip
}
\makeatother
%こちらは本文に記述(プリアンブルではstyなどの読み込み順の関係で効果がでないようです。)
\renewcommand{\figurename}{図}
\renewcommand{\tablename}{表}
他にも日本語を使用する際に修正すべき部分はありそうです。 (例えば\today が英語表記など)
3.1
Ubuntu+pLaTeX+dvipdfmx の場合
jsarticle を指定するとコンパイルに失敗します(jarticle なら OK) 。大量の warning が出ますが出力はできます。
4
media9 について
実は movie15 は古いパッケージで、現在は media9 に移行しています。ほぼ書き方は同じですが下記にサンプルを記載し
ておきます。ただし XeLaTeX 環境ではコンパイルできましたが、pLaTeX 環境では失敗しました(texlive-latex3 などいくつか
のパッケージを導入する必要があるようです) 。また前述の日本語の問題も解決していないようなので、単純に 3D モデルを埋
め込むだけならば movie15 でも十分だと思います。
\usepackage[bookmarks=false, pdfborder={0 0 0}]{hyperref}
\usepackage[english]{babel}
\usepackage{media9}
%media9パッケージを使用
2
\begin{document}
\includemedia[
width=0.2\linewidth,
%幅、高さはオプションで指定
height=0.2\linewidth,
activate=pageopen,
label=正二十面体の3Dモデル,
3Daac=60, 3Droll=10, 3Dc2c=0 90 0, 3Droo=2, 3Dcoo=0 0 0,
3Dlights=CAD,3Drender=TransparentWireframe
]{}{icosahedron.u3d}
\end{document}
5
リンク
MikTeX http://miktex.org/
movie15_dvipdfmx.sty ftp://ftp.eq.uc.pt/pub/software/TeX/graphics/asymptote/patches/
CTAN web interface: package movie15 www.ctan.org/pkg/movie15
CTAN web interface: package media9 www.ctan.org/pkg/media9
MeshLab http://meshlab.sourceforge.net/
Universal 3D http://en.wikipedia.org/wiki/Universal_3D
3