第 8 章 図表の組版 125
8.3 図
8.2.3 表作成支援ツール
L
ATEX
で0
から表を組むのは初心者には辛いかもしれません.GUI
ベースのプログラ ムで表を作成し,それをL
ATEX
のtabular
環境の記述に変換するツールを使うと良いで しょう.Microsoft
のExcel
を使っている場合は中尾誠氏のExcel2latex
http://www32.ocn.ne.jp/~butcher_bird/Mac/Excel.html
や浦壁厚郎氏のExel2tabular
http://www.ne.jp/asahi/i/love/E2T/
などがありますので参考にしてください.これらのプログラムは
Microsoft
のExcel
で作 成された表をL
ATEX
のソースに変換します.Microsoft
のExcel
ではなくOpenO
ffice.org
のCalc
を使っているならば阿部昌平氏のCalc2LaTeX
http://web.hc.keio.ac.jp/~fr000056/calc2latex/indexj.html
というものがあるそうです.これを使えば
Calc
で作成した表をtabular
環境に変換し,表として
L
ATEX
に貼り付けることが出来ます.好き好き
L
ATEX 2
ε初級編8.3
図8 8.3.1 EPS 画像の張り込み
EPS
とはEncapsulated PostScript
の略でAdobe
社の開発したページ記述言語で,Post-Script
にプレビュー用の情報を付加したファイル形式です.単一ページでベクトル画像を保存するのに良く使われるます.
EPS
形式の画像の場合はdvips
を使うとファイル形式の 変換を必要とせずにそのままPS
ファイルに取り込むこともできます.Dvipdfmx
などは1
度Ghostscript
のpdfwrite
を使ってEPS
からL
ATEX
での基本的なEPS
画像の扱い方を説明します.1.
各アプリケーションでEPS
保存オプションをモノクローム256
色(8
ビット),PostScript
レベル2
などに設定してから保存します.フォントはアウトライン化(ベクトル化)できる場合は行います.カラー印刷する場合はカラーで構いません が容量は大きくなります.
2.
文書のプリアンブルでgraphicxパッケージを使うことを宣言します.\usepackage[デバイスドライバ]{graphicx}
PS
形式の文書を出力するならば,dvips
を指定します.Dvipdfmx
を使うためにdvipdfm
を指定します.3.
図を挿入したい場所に\includegraphics
命令を使ってファイル名を示します.\includegraphics[設定]{ファイル}
仮引数には表
8.6
などのオプションが使えます.表8.6 graphicxパッケージで使える主なオプション
設定項目名 説明 値
width=
h幅i 出力する図の幅を指定します 長さ,100 mm
などheight=
h高さi 出力する図の高さを指定します 長さ,100 mm
などangle=
h角度i 反時計回りの回転角度を指定します0
<値<360 scale=
h数値i 図の拡大・縮小率を指定します0
<値例 え ば
Ghostscript
の 下 に はexamples
と い う デ ィ レ ク ト リ が あ り ま す .そ こ にgolfer.eps
というEPS
画像があります.このEPS
画像ファイルgolfer.eps
をL
ATEX
の文書に張り込むにはgolfer.eps
をL
ATEX
の原稿のあるディレクトリにコピーして\usepackage[]{graphicx}
をプリアンブルに書きます.そして
document
環境の中で\includegraphics[width=5cm]{golfer.eps}
とします.これを
platex
でタイプセットし,整形されたDVI
ファイルhfilei.dvi
をプレ ビューアで見ることができます.上記の操作が問題なくできるでしょうか.基本的に
L
ATEX
で既存の画像を張り込むと きはL
ATEX
に標準で含まれているgraphicxパッケージを使うことになると思われます.既存の
JPG
,BMP
,EPS
などの画像はL
ATEX
の力ではどうしようもありありません.それらの画像に関してはデバイスドライバに一任しています.そのため取り込むことので きる画像はデバイスドライバに依存します.それでも画像の張り込みに関してはgraphicx パッケージという統合的な方法が提供されています.このパッケージを使うことによって 任意のデバイスドライバに合わせたコマンドを記述しなくても良いように工夫がされてい ます.
まずこのgraphicxを使うためにプリアンブルに以下の
1
行を追加します.\usepackage{graphicx}
このとき使用するデバイスドライバが重要で最終的に
PostScript
形式か,DVI
形式か,そ れともWindows
で印刷すること も考えるならば最終的にDvipdfmx
を使うことになるでしょうから,Dvipdfmx
の場合は\usepackage[dvipdfm]{graphicx}
とします.
Dvipdfmx
の場合もgraphicxにおいてはdvipdfm
と同じ設定になりますからdvipdfmx
と書いてはいけません.Unix
系OS
ならばPostScript
のほうが良いでしょうから\usepackage[dvips]{graphicx}
とします.
dvipsk
であろうがpdvips
だろうがdvips
オプションを使います.他にはxdvi
やdviout
も指定できます.dviout
の場合はdviout
がインストールされているフォルダのGRAPHIC/LATEX2E/dviout.def
というファイルを$TEXMF/tex/latex/graphics/
にコ ピーしてください.手持ちの画像の形式を判断して使用するデバイスドライバを考えるのが良いでしょう.
標準的に指定できるデバイスは
dvips xdvi dvipdf dvipdfm pdftex dvipsone dviwindo emtex dviwin pctexps pctexwin pctexhp pctex32 truetex tcidvi vtex oztex textures
などです.デバイスドライバによっては graphicx 用の独自の設定ファイル hドライ バi.def
が含まれていることもあるので確認してください.既存の画像は基本的に
\includegraphics
命令で読み込みます.\includegraphics[
h設定i]{
hファイル名i}
Windows
の方で手持ちの画像のほとんどがビットマップで存在するならばdviout
をデバイスドライバに選択すれば良いでしょう.
EPS
画像が多いならば1
度EPS
からDvipdfmx
を使うのが良いと思われます.Unix
系OS
ならば手持ちの画像好き好き
L
ATEX 2
ε初級編8.3
図8
を
EPS
に変換してdvips
を使うことになるでしょう.試しにご自分の持っている画像h ファイルiをhデバイスiで取り込めるのかを試してみください.\documentclass{jarticle}
\usepackage[デバイス]{graphicx}
\begin{document}
\includegraphics{ファイル}
\end{document}
dviout
の場合EPS
画像を取り込むときはGhostscript
にてEPS
をdviout
のGhostscript
に関する設定を適切に行ってください.画像 によってはページをはみ出したりしている場合があるでしょうし,表示が大きすぎる場合 があるでしょう.その場合は取り込みに関する設定をします.height=
h高さi 単位付きで画像の高さを指定します.totalheight=
h総合的な高さi 単位付きで画像の総合的な高さを指定します.width=
h幅i 単位付きで画像の幅を指定します.scale=
h数値i 画像の拡大率を指定します.angle=
h角度i 反時計回りに画像を回転する角度を指定します.bb=
h画像の位置情報i 画像のどの領域を使うべきかを指定します.‘bb=0 0 640 480’
とすると原点を
(0,
0)として縦横‘640
×480’
の領域を使うようにします.noclip
画像用に使うべき領域を元の画像がはみ出している場合に画像を切り抜かないようにします.
clip
画像が確保された領域よりも大きい場合は切り抜きします.draft
実際に画像を張り込まずに画像が占有するだろう領域を枠による代替表示になり,ファイル名も表示します.
keepaspectratio
拡大縮小したときに縦横比を保存するようにします.graphicxパッ ケージの標準では保存されます.レポートや論文などで図には図見出しを付けて中央揃えにするのが望ましいと思われま すので
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=10cm]{images/file.eps}
\caption{図見出し}\label{fig:samplefig}
\end{center}
\end{figure}
のように使うことになるでしょう.ただし,これを毎回書くのは面倒なので次のような図 用の
myfig
命令を作成します.\newcommand{myfig}[4][width=.8\textwidth]{%
\begin{figure}[htbp]%
\centering\includegraphics[#1]{#2}%
\caption{#3}\label{fig:#4}%
\end{figure}}
このように定義しておけば次のように使えます.
以上の考察から図~\ref{fig:sample}のような 図が得られる.
\myfig[width=100pt,clip]{images/file.eps}{図の張り込みの例}{sample}
浮動体の図は
DVI
ファイルに出力されるときに思いもよらない場所まで旅をしますの で,思い通りの場所に図を出力できなくても気にしないでください.そもそも図表に対し て「上記の図はなんちゃら」とか「下記の図はなんちゃら」という表現は間違いで,全て の図表は「図3.1
はなんちゃら」のように番号で参照します.ですから本来は図や表がど のような場所に旅立っても困らないはずです.図などを反時計回りに
90°
回転させることがあるでしょう.その場合は\rotatebox
命 令を使います.他にも便利な命令があります.\rotatebox[
h設定i]{
h角度i}
要素これは
\includegraphics
の任意引数に‘angle’
を使ったことと同じです.\rotatebox
は図に限らずあらゆる要素を回転します.h設定iの項目には以下のようなものがあり ます.origin=
hラベルi 要素を回転するための原点を指定します.左‘l’
,右‘r’
,中央‘c’
,上 部‘t’
,下部‘b’
が指定できます.x=
h長さi x方向の原点の位置を直接h長さiを指定します.y=
h長さi y方向の原点の位置を直接h長さiを指定します.\rotatebox{70}{文字列など}の
\rotatebox[origin=c]{60}{回転とか}は
\rotatebox[origin=b]{50}{どうよ?}
\rotatebox{30}{だめぽ.}
文字列など の 回転とか
は どうよ?
だめぽ.
要素を拡大縮小するには
\scalebox
を使います.\scalebox{
h横の拡大率i}[
h縦の拡大率i]{
h要素i}
h拡大率iには長さを指定します.\scalebox{2.3}{拡大縮小}\par
\scalebox{3}[1]{拡大縮小}
拡大縮小
拡大縮小 要素の反転には
\reflectbox
を使います.\reflectbox{
h要素i}
好き好き
L
ATEX 2
ε初級編8.3
図8
\reflectbox{文字列の反転}\par
\reflectbox{山は山}\par
\scalebox{-1}[1]{これも反転}
文字列の反転 山は山 これも反転 リサイズには
\resizebox
を使います.\resizebox{
h幅i}{
h高さi}{
h要素i}
要素のリサイズ後の幅をh幅iに,高さをh高さiにします.どちらか一方の拡大・縮小率 に合わせたいときは
‘!’
を使います.\resizebox{!}{1cm}{リサイズ}\par
\resizebox{3cm}{!}{リサイズ}
リサイズ
リサイズ
以 上 の
\rotatebox
,\scalebox
,\reflectbox
,\resizebox
は 文 字 列 ,表 ,図 ,minipage
環境などの段落などにも使えます.\newcommand{\testtab}{\begin{tabular}{|c|}
\hline \LaTeX\\ \LaTeXe \\ \hline %
\end{tabular}}
\rotatebox{80}{\testtab}~
\reflectbox{\testtab}
ALTXE
ALTXE2ε
L TEX A
L TEX A
ε 2
8.3.2 他のプログラムから張り込む方法その 1
例えば
Excel
やPowerPoint
などのグラフや図表を張り込む場合大きく分けて次の3
通りの方法があります.対象となるグラフや図表,ページは基本的に
PS
形式の画像に変換 することができます.この小節の話はWindows
に限定します.1.
該当のページなどをスクリーンショットでビットマップ画像として保存しその画像 をEPS-Conv
やImageMagick
でEPS
画像に変換してから張り込む.2.
ページなどの大きさを調整してからPostScript
プリンターを通してプリンターファ イルとして保存し,バウンディングボックスをeps2eps
で調整してから張り込む.3.
ページなどの大きさをA4
の紙いっぱいにファイルとして印刷し,それをgraphicx パッケージで回転と拡大・縮小をして張り込む.一つ目と二つ目は手間がかかるうえに印刷品質も悪いのでここでは説明しません.三つ目 の方法を解説します.
手順は以下の四つのようになります.