トップページ > 日本語版トップページ > TeX トップページ > 小技集 > 書式

書式が指定された書類を TeX で書く方法

ここでは,書式がインターネット上で配布されている書類を TeX で書く方法を紹介します。書式ファイルは,Word ファイル,Excel ファイル,PDF ファイル,PS ファイルのいずれかであることを仮定します。なお,阿部紀行さん による 書類などをTeXで頑張る方法 も参考にどうぞ。秀丸をお使いの方は,阿部さんによる put(x,y) に一斉に足す も便利かもしれません。

書式ファイルの分割

まず,書式ファイルが複数ページにわたっている場合,それらをページごとに分割する必要があります。

Word ファイル,Excel ファイルの場合

次項の「書式ファイルの変換」で同時に行うので,このステップは不要です。

PDF ファイルの場合

SepPDF などを用いて分割してください。

PS ファイルの場合

コマンドラインで,

psselect 1 foo.ps foo01.ps

のように,

psselect (ページ番号) (元のファイル名) (新しいファイル名)

などとしてください。

書式ファイルの変換

Word ファイル,Excel ファイルの場合

Word ファイル,Excel ファイルを PS ファイルに変換します。まず,Adobe PS プリンタドライバ Windows 版 をインストールしてください。ここで,接続先は「ローカルプリンタ」,プリンタの種類は「Generic PostScript Printer」,印刷先は「FILE」にします。次に,書式ファイルを Word,Excel で開いて「印刷」します。このとき,プリンタを「Generic Postscript Printer」にすると,出力先ファイル名を聞かれるので,適当な名前(拡張子は .ps)をつけます。

PDF ファイル,PS ファイルの場合

このステップは不要です。

TeX ファイルの作成

以上の準備のもとに,TeX ファイルを作成します。以下にサンプルを提示しますが,かなり TeX をいじめている気がします。よりまともなものをご存知の方はご教示ください。なお,奥村晴彦さんの掲示板の 4420 を参考にしました。

\documentclass{jarticle}%%%%% 用紙サイズ変更。
\usepackage{graphicx}
\setlength{\hoffset}{-1in}
\setlength{\oddsidemargin}{0pt}
\setlength{\textwidth}{\paperwidth}
\setlength{\marginparsep}{0pt}
\setlength{\marginparwidth}{0pt}
\setlength{\voffset}{-1in}
\setlength{\topmargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\textheight}{\paperheight}
\setlength{\footskip}{0pt}
\setlength{\parindent}{0pt}
\makeatletter
\def\ps@mygraphic{%
 \let\@mkboth\@gobbletwo%
 \let\ps@jpl@in\ps@plain%
 \def\@oddhead{\includegraphics[bb=0 0 595 842,width=210mm,clip]{form.ps}}%%%%% 書式ファイル名入力。用紙サイズ変更。
 \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
 \let\@evenhead\@oddhead%
 \let\@evenfoot\@oddfoot}
\makeatother
\pagestyle{mygraphic}
\begin{document}
\setlength{\unitlength}{1mm}
\begin{picture}(210,297)%%%%% 用紙サイズ変更。
 \put(100,120){\Huge あ}%%%%% ここが実際の文書。
 \put(100,170){\Huge い}%%%%% ここが実際の文書。
\end{picture}
\end{document}

19 行目の form.ps を書式ファイル名に変更すれば,とりあえずコンパイルできると思います。下から 3 行目,4 行目のあたりが実際に書く部分です。\put コマンドを用いて,各文字を適切な部分に置いていってください。

なお,上のサンプルは用紙サイズが A4 の場合ですが,A4 でない場合は,用紙サイズ変更の場所を適切に変更してください。具体的には,例えば B5 サイズの場合,変更箇所をそれぞれ

\documentclass[b5paper]{jarticle}%%%%% 用紙サイズ変更。
 \def\@oddhead{\includegraphics[bb=0 0 516 729,width=182mm,clip]{form.ps}}%%%%% 書式ファイル名入力。用紙サイズ変更。
\begin{picture}(182,257)%%%%% 用紙サイズ変更。

にします。


斎藤新悟