WindowsでのTeXの書き方メモ

最近色々と無駄に設定とかではまって時間無駄にしたので、次回は無駄にしないために日記として残します。
自分用のメモなので、「自分の場合はこういう設定にした」という箇所が多いです。再利用する人は適宜自分の好みで設定してください。何かより良い方法あればぷりーず。
主に英文論文を想定していますがそれ以外のTeX文書にも使える点はあるでしょう。

大まかな流れ

TeX, EPS →(latex)→ dvi →(dvips, dvipdfmx)→ ps, pdf。

TeX, PDF →(pdflatex)→ pdf というのも便利だけど、camera readyの段になって「PSファイルも送れ」と言われると悲しいので上記の方法にします。

$ latex paper.tex
$ dvipdfmx -p letter -o paper.pdf -f dlbase14.map paper.dvi
$ dvips -j0 -Pdl -t letter -o paper.ps paper.dvi
$ gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=letter -sOutputFile=paper_ps.pdf paper.ps

本文の用意

適当に書けばいいと思います。

パッケージ紹介。Algorithm。かっこいい擬似コードが書けます。

\usepackage{algorithm}
\usepackage{algorithmic}
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}
\renewcommand{\algorithmiccomment}[1]{// #1}

グラフの用意

Excelでグラフ作って、EPSに変換します。
ここ http://kenkitagawa.cocolog-nifty.com/blog/2010/04/exceleps-eps-78.html を参考にしました。

  • グラフを作ります。
    • フォントは、Arial にしておきます。好きなフォントがある場合でもとりあえずArial。
    • いくつかの定型サイズにしておくと、後でbounding boxの調整が楽です。
    • 印刷ページサイズおよび余白の設定を各グラフごとにします(Excel 2002だと、各グラフごとに独立して設定が保存される模様)。
      • グラフをクリック→印刷→PSプリンタを選択→印刷プレビュー→設定で、ページサイズ、余白、dpiなどが設定できます。
      • 「ページ」A3横600dpi、「グラフ」印刷するグラフのサイズ:指定、「余白」上余白以外は全部0、ページ中央 水平・垂直にチェック。上余白も0でよかった気がする。
      • 印刷するグラフのサイズを「指定」以外にすると、勝手に拡大縮小されるのだが、その際にレイアウトが崩れたりしたので使わない方向で。ページサイズが小さくても勝手に拡大縮小されるので無駄にでかいサイズを指定。
  • グラフを選択し、印刷します
    • PSプリンタ(Generic MS Publisher Color Printer)を選択
    • 出力先は、適当に。
  • 出力されたEPSファイルのBounding boxを、ページいっぱいにグラフが出るように調整します。
    • 面倒だったので「BoundingBox: ……」という文字列を置換するPerlスクリプトに通しました。調整後の値は適当に決めました。

ちなみに、こうするとフォントはEPSの時点では埋め込まれず、後でPDFにする時に埋め込まれる模様です。

フォントをArial以外の何かにして、TrueTypeフォント: 「ソフトフォントとしてダウンロード」とすると、EPSの時点で埋め込まれるような雰囲気がします。本当だろうか。これでもいい気がするけど私は上の方法にするぜ。

図の用意

OpenOffice Drawで図を作って、EPSにエクスポートします。

図1枚ごとに1ページのみからなる1ファイルにすると何かと便利なのでそうします。
hoge.odg をEPSにエクスポートする時にデフォルトで出力先が hoge.eps になります。

図のサイズに合わせてページ設定をします。縦幅とか横幅を揃えておくと縮尺の揃った論文になる気がします。
余白のサイズはどうやら除外されるようです。

フォントに関しては、どうやらEPSにはフォントというより単なる図形として吐かれている模様。PDFにした時のフォント一覧にも出ないし。
というか、今気づいたがそもそも図内の文字情報も落ちてるっぽい。検索できない。これはいいのか?
まぁ、そんな感じなので好きなフォントで図を作るといいと思います。

latexの実行

普通だと思います。

dvipdfmxによるPDF生成

フォントをちゃんと埋め込むために設定が必要。

という訳で、

$ dvipdfmx -p letter -o paper.pdf -f dlbase14.map paper.dvi

というコマンドラインができたとさ(-p letterは用紙サイズ指定)。

Adobe Readerで開いてファイル→文書のプロパティ→フォントを見るとちゃんと全て埋め込みサブセットになっていれば幸せ。

グラフ中のArialは「Helvetica(埋め込みサブセット)」に置換されています。
ArialじゃなくてHelvetica(少なくともそうっぽい)になってます。
gsが置換したのかな。実体はNimbusか何かかな。

dvipsでのPS生成(とGhostScriptでのPDF生成)

PSも出せとのお達しなのでdvipsでPSを吐きます。
ついでにPSからPDFを生成することもできます。

$ dvips -j0 -Pdl -t letter -o paper.ps paper.dvi
$ gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=letter -sOutputFile=paper_ps.pdf paper.ps

dvipsのオプションについてはここ http://www.grassbook.org/neteler/highres_pdf.html を参考にしました。-j0 -Pdlを指定することで私の場合はフォントが全て埋め込まれた雰囲気がします。