WindowsとMicrosoft Excelを用いて、Excelの表を挿入してTeXからPDFを作る方法を紹介します。
ベクトル形式のExcel表を入れ込んだve_exta_eps.pdfのようなPDFを作成することができます。
tabular環境で書くのが面倒な表も簡単に挿入でき、Excel内の計算結果をそのまま使えます。
まずTeXをインストールします。次にWindowsでのTeX用仮想EPSプリンタの作成方法を参考に、EPSファイルを作るための仮想EPSプリンタを作成しておきます。
- TeX(テフ)を知らない方は、MicrosoftのWordのような文章作成ソフトだと思ってください。LaTeX(ラテフ)と呼ばれる場合もありますが、実質的に同じものを指しています。TeXは文章作成がWordより面倒な反面、Wordよりきれいな仕上がりになります。論文・レポートにある10分で分かる『学校は人的資本を形成するのか?』やExcelにおける回帰分析(最小二乗法)の手順と出力はTeXから作成したPDFです。これらのPDFの中にも仮想EPSプリンタを使って、EPS化して入れ込んだ表やグラフがあります。
- TeXはTeX WikiなどのWeb経由で無料で入手でき、インストールや初期設定も以前より楽になりました。Windowsの場合はTeXインストーラー3を使えば、ほとんど自動でインストールできます。 また、TeXは文章を処理するソフトなので、文章を書いていくエディターは別に用意する必要があります。日本語表示できるTeXエディター(統合環境)のWinshellが、無料でWebから入手できます。TeXインストーラー3を使用する際に拡張プラグインを加えると、WinShellもまとめてインストールができます。WinShellの基本的な使い方はTeX Wiki:WinShell3を参考にしてください。
1. MicrosoftのExcel(エクセル)で表を作成します。この例ではtable_example.xlsを使います。
- TeXソース内にtabularのコードを書いて表を作成する方法もあります。tabularのコードの書き方は、文系のマカーにも「使える」LaTeX:表などを参照してください。tabularのコードで書くと、TeXの本文との一体感が出ます。その一方でセルの色、フォント、枠線などを調整するのは面倒です。このEPSでの挿入方法であれば、Excel上に表示された表をそのまま挿入することができます。
- Excel表を元にtabularのコードを書く場合でも、TeXソースに一つ一つ打ち込んでいく必要はありません。Excel用変換アドインであるExcel2Tabularを使って、tabular環境のコードに変換することもできます。枠線やセルの装飾が単純であれば、コピー&ペーストでtabularコードに変換することができます。
2. 印刷をクリックして、WindowsでのTeX用仮想EPSプリンタの作成方法で作成した[For EPS]を選択した後『プロパティ』をクリックします。
3. レイアウトのタブの中にある[詳細設定]をクリックして、[PostScriptオプション]から[EPS(Encapsulated PostScipt)]を選びOKを押します。
- 初期設定の[印刷処理が早くなるように最適化]でも、モノクロのEPSは作成されます。ただEPSの枠調整
で指定するBoundingBox:が(atend)となってしまい、座標を入力しても指定できなくなるようです。
- [印刷の向き]を横にすると、GSviewでの表示が横向きになります。[ページ設定]やプリンタの[プロパティ]の印刷の向きを縦にしてから印刷してください。また、グラフの場所に[新しいシート]を選び[Graph1]として作ると、印刷の初期設定は横になります。
4. [印刷]の設定画面に戻ると、[ファイルへの出力]にチェックを入れて『OK』をクリックします。
5. 出力ファイル名を尋ねてきますので、例えば『example.eps』と記入して『OK』をクリックします。
6. [マイ ドキュメント]の中に『example.eps』というファイルができていれば、EPSの作成は完了です。
- Windows 2000やXPで、Excelをプログラムから起動していれば、デフォルトの保存場所は[マイ ドキュメント]の中になります。Excelの起動後に他の場所に保存していれば、保存場所が移ります。現在の保存場所は、Excelの[ファイル]⇒[名前を付けて保存]で確認することができます。
EPSの枠調整 [ExcelグラフやPowerPoint図とほぼ共通]
1 作成されたEPSファイルは、GSview(http://auemath.aichi-edu.ac.jp/~khotta/ghost/)にて開くと、以下のような絵が出ます。
- 画像はExcelグラフですが、Excel表でもPowerPoint図でも枠調整のやり方は同じです。
- 右側や下側のバーを見て分かるとおり、大きな余白が入ってしまっています。このままTeXに入れると文章との間にかなりの余白が空いたり、小さい画像でも次のページに飛んだりしてしまいます。
2. GSviewの十字カーソルを枠にしたい左下と右上の位置に合わせて、ウィンドウの下部に出る座標を読みます。
- 座標はEPSの左下の端が原点[0 0]となる第一象限表示です。
3. GSviewを開いたまま、同じEPSをメモ帳やエディターで開きます。
- EPSファイルを右クリックしてプログラムを指定して開いたり、先にメモ帳を開いておきEPSを指定して読み込んだりしてください。
- GSviewはDvioutと同様に、開いたままでも上書きファイルを読み込み直します。
4. 6行目あたりにBounding Boxという項目があるので、そこを先ほど覚えた左下座標、右上座標に書き換えます。メモ帳を上書き保存します。
5. [Options]の[Show Boundig Box]にチェックが入っていれば、選択した範囲が破線で囲まれています。メモ帳で上書き保存をした後にGSViewを操作した段階で枠表示が変わります。この破線が抽出したい範囲に合っていれば、EPSの枠調整は終了ですのでメモ帳を閉じます。
- [Opitions]の[EPS Clip]にチェックが入っていると、破線内のみが表示されます。
\begin{figure} 〜\end{figure}の代わりに\begin{table} 〜\end{table}と変更しておくと、キャプションが図から表になります。図であれば『図1:図のタイトル』というキャプションが図の下につけますが、表であれば『表1:表のタイトル』というキャプションが表の上につけるのが一般的です。『表1:表のタイトル』というキャプションがEPS画像の上にくるように\includegraphics{example.eps}の上にキャプションを書きます。
\begin{table}[htbp]
\centering
\caption{表のキャプションは画像の上}
\includegraphics{example.eps}
\end{table}
と\begin{table}と\end{table}で囲い、includegraphicsの上にキャプションを書きます。
1. 枠を調整したEPSをTeXファイルと同じフォルダに移動させます。
2. 以下のようなEPSを入れ込むTeXソースを書き、graphicxパッケージなどを使用してコンパイルします。
- TeX入門/図表 - TeX Wikiでも、画像等を挿入するTeXの書き方を説明しています。
- 図表の通し番号やキャプションが不要の場合は\begin{table}[htbp]と\end{table}を省いてください。単に\includegraphics[width=8cm]{example.eps}と記入するだけで、画像を出力できます。画像を中央寄せにする場合は、\begin{center}と\end{center}で\includegraphics[width=8cm]{example.eps}
を囲んでください。
- [width=8cm]の数字を変えると縦横比を保持して、画像のサイズを拡大縮小します。TeXはスタイルやプレアンブルの記載に合わせて拡大縮小をするので、TeXに記入した8cmがdviやPDFの8cmとは限りません。また[scale=0.7]でも縦横比を保持した拡大縮小ができます。
- 縦横比を変えたい場合は、[width=8cm, height=5cm]といった形で高さも合わせて指定します。
- [width=8cm, angle=90]とすると反時計回りに画像を90度回転させることができます。[width=8cm, angle=270]で時計回りに90度回転します。
\documentclass[a4j,12pt]{jarticle}
\usepackage{graphicx}
%画像挿入用のパッケージです。TeXをインストールすると付属しているはずです。
\begin{document}
\section{EPSの挿入}
以下のようにEPSを挿入します。
\begin{table}[htbp]
%画像の表示位置の優先順位 [h:挿入場所, t:ページの上端、b:ページの下端、p:独立ページ]
\centering
%EPSを中央寄せ
\includegraphics[width=8cm]{example.eps}
%widthで幅だけを指定すると、縦横比を維持して画像のサイズを拡大縮小します。
\end{table}
example.epsの代わりに挿入したいファイル名を入れます。
\end{document}
3. うまくコンパイルされるとve_exta_eps.dviができ、dvioutにおいて以下のような表示になります。
- dviは別保存した画像を呼び出すのでWeb上で開くと、画像部が抜けるだろうと思います。
- 一般にdvioutでの表示は、最終生産物のPDFよりも画質が悪くなります。
dvioutのカラー表示
dvioutでカラー表示されない場合は、[Option] [Setup Parameters]をクリックして[Graphic]のタブから設定できます。GIF:BMP(full
color)を選択し、[Save]してからOKを押してください。
- dvioutでの表示がモノクロでも、できあがるPDFには影響がないはずです。
4. dvioutでうまく表示できれば、dvipdfmでPDF化してください。上の材料を利用すればve_exta_eps.pdfができるはずです。
dvipdfmを使ったdviからのPDF作成
dviからPDFの作り方が分からない場合は、以下の手順に従ってください。
- PDFにしたいdviを選び、マウスで右クリックします。
- メニュー内の[プログラムから開く]を選択します。(一度dviの拡張子に対して、dvipdfmを選んでいれば画像のように候補表示されます。)
- 初めて選択する場合は、[参照][その他]などを押して、任意のプログラムを選べるようにします。
- \local\bin以下にdvipdfm.exeというプログラムがあるはずです。このプログラムを指定してdviを開きます。
- 一瞬黒い画面が出て、元のdviと同じフォルダにPDFができているはずです。
- 同じ手順でdvipdfmの拡張版のdvipdfmxを指定しても、PDFの作成ができます。
他の方法として、dvioutからもdvipdfmxでPDFに変換することができます。
- Viewから[Change Tool Buttons]をクリックしてください。ツールバーの中に黄色いスマイルマークが画面に表示されます。(dvioutを再起動する必要があるかもしれません。)
- 黄色いスマイルマークをクリックすると、dvipdfmxでのPDF作成を尋ねてくるので、OKをクリックしてPDF化します。
- Print RangeをAllにすると全てのページのPDFしますが、ページを抽出してPDFを作成することができます。
- [View PDF]にチェックを入れておくと、PDFを作成した後にAdobe Reader等で開きます。
5. 作成されたPDFの中のExcel表はベクトル形式なので、どれだけ拡大してもなめらかです。またテキスト部はコピー&ペーストも可能です。