極楽せきゅあブログ

ときどきセキュリティ

Tex使ってみました

先日初めてtexを使ったんですが、手元にあるのは本文の一部を流し込んでもらった論文提出用テンプレと、ツールに関する情報だけという状態から、入門書籍も買わずネットの情報だけで何とか形にしました。ネットってほんとありがたいですねえ。ありがたいネットに少しでも恩返ししたいと思ってメモ書いてみましたよ。

Windows環境でTex初めて使うときに参照したサイトはここでした。TeX Wiki→ものすごく情報が多いので、まだほんの一部しか使えてないす。
ちなみにお勧めで上記サイトにもリンクがあるTexworksという環境を使うことにしました。
TeX用エディタ - TeX Wiki
Texworksのサイトはこちら>TeXworks
これ、横長の大きなディスプレイにとっても合ってる環境でした。Texのソースと最終形PDFを二つのウインドウで並べて表示させて、ちょっと直してすぐデバッグできるので良いですね。
ちなみに今回作成していたのは英文の論文なので日本語対応は関係無かったんですが、日本語対応はこんな感じでやるみたいですね。
http://dokoka.org/wiki.cgi?page=TeXWorks%A4%C7%C6%FC%CB%DC%B8%EC%A4%AC%C9%BD%BC%A8%A4%B5%A4%EC%A4%CA%A4%A4%A1%A2%A4%C8%A4%A4%A4%A6%BB%FE%A4%CF
昔UnixMagazineあたりで紹介されていた作成手順ってもっと複雑だったと思うんだけど、このTexworksってある意味めちゃくちゃ簡単になってます。どんな動作になっているのかはこのブログにありました。
Vine Linux の Texworks(1) ( その他コンピュータ ) - おもこん - Yahoo!ブログ

印刷物の作成者−>(エディタ)−>sample.tex−>(platex)−>sample.dvi−>(dvipdfmx)−>sample.pdf
という工程になる。
すると、この過程で3つのプログラムを使うことになる。
1.エディタ   2.platex   3.dvipdfmx
Texworksは、それ自身にエディタを含み、platexとdvipdfmxをボタン一つで起動することができ、便利になっている。このように、複数の工程を統合して使いやすくしたものが「統合環境」である。

最初はでも、ソースと同じフォルダにPDFが無いとPDFが見られないことに気づかなかったので、PDFの作り方を探してみたところ意外にそういう当たり前の操作の情報には行き当たらず、ちょっと苦労しました(笑)。ただ単に黄緑色のPlayボタンみたいなのを押せば良かったんですけどね。なにぶんマニュアルすら読んでないしヘルプもあまり参照しなかった(そういう超初心者的部分においてはあまり当てにならなかったというのもありますが)んで、おそらくはどこかにそういう情報もあると思うんですが。
で、最初の著者表記のところでまず上付文字が必要になり、その手の装飾コマンドが載っているところを探しました。
LaTeX - コマンド一覧
↑はかなり参照しましたね。便利でした。
同じ著者表記のところでメールアドレスを入れるとき、これにアンダーバーが付いてるんですがそれが消えちゃう問題が発生したので、下記Q&Aを探り当てました。
LaTeXでのアンダーバーの入力 -LaTeXで文書を書いています.参考文献に | 教えて!goo
なるほど。エスケープはエンマークもしくはバックスラッシュなのかという認識を得ましたね。
今回の論文は数式がけっこう出てくるので、その表記なんてまるでやったことないから意外に引っかかりました。例えば分数表記。
装飾系コマンドの情報が多数掲載されている上記のサイト>LaTeX - コマンド一覧を落ち着いて読んだら解決できましたがw、cfracとか使えないみたいだったのでWebに載っているコマンドも対応していないのがあるんだなーって思いました。たぶんこのあたり、やり方があるんだとは思いますが。
で、やり始めるとコンパイルエラーとか出てくるわけですが、エラーメッセージに関してはこのあたりを参照しましたね。
TeX のエラーメッセージ - TeX Wiki
TeX入門/最初の例 - TeX Wiki
14. エラーが出たら・・・
数式全般的にはこのあたりも参照しました。
http://www-is.amp.i.kyoto-u.ac.jp/lab/kmaeda/latex/
目的別LaTeXガイド - [数式]連立方式程式
ソース付きのもありましたね。
添え字: LaTeX
シグマの表記で各種添え字の記述がいろいろ書かれているので(上記サイトにもありますが)、そもそも添え字にアンダーバーを使うからエスケープ要るのかって認識しましたw。遅いw。
LaTeXコマンド集 - 総和・総乗 (sum,prod)
だんだんできてくると今度は微妙なレイアウトが気になってきますが、改行とか段落、字下げの話はここらを参照しました。
http://www.h4.dion.ne.jp/~latexcat/intro/intro3.html
太字とかの細かい文字装飾とかは先に触れたこことか、
LaTeX - コマンド一覧
http://www10.ocn.ne.jp/~tasusu/tex/font.html
↑のあたりをちょこっと参照。
んで表組みが出てきたんですが、そのあたりはここらへんを参照しました。
•\‘g‚Ý‚Ì•û–@
最初のこのレイアウト指示とかの部分は→\begin{tabular}{c|l}自分で読み解きましたけどね(笑)。cがセンター、lが左、rが右にそれぞれ寄せて、パイプが縦棒を引く印。これはわかりやすかったですね。
あとどうしてもバックスラッシュを書く必要が出てきたんですが、コマンド知らなかったのでいろいろ探してこのあたりに行き着きました。
w3support.net - このウェブサイトは販売用です! -  リソースおよび情報
\backslashって入れるとか。なるほどコマンドになってる可能性あるのか、という認識ができたので他の特殊文字もいろいろ試してみることができましたね。
探すついでにこのあたりにも行き当たりました>tex command - 特殊記号
あとここ>Help:数式の表示 - Meta
入力文字列のフォントを変えるときはこういう文書を参照しました(PDF)。>http://www2.eden.hiroshima-u.ac.jp/engsys/tex_command.pdf](PDF注意)
あとこのへんも>LaTeX‚̃tƒHƒ“ƒg‚ÌŽæ‚舵‚¢
脚注はやはりここを参照>LaTeX - コマンド一覧、参考文献表記はこちら>ŽQl•¶Œ£‚ÌŽQÆ
ここまではちょっと迷ったりバグったりはしていたものの順調でしたね。

最後にグラフを貼り付けたんですが、これがちょっと厄介でした。
グラフはexcelで作成したのですが、これをスムーズに貼り付ける方法ってのが紹介されていました。
ExcelグラフをきれいにTeXからPDFへ入れ込む方法
で、ここでまず最初のハードルになったのが仮想プリンタ(ドライバ)。ポストスクリプトプリンタ(ドライバ)が必要だということだったので>WindowsでのTeX用仮想EPSプリンタの作成方法、手元のWindows7マシンのなかでドライバいろいろ探してみたんですがいやー訳わかんない感じ(笑)。このWebページではさっくり「PSプリンタなら何でも良いのですが、例えばEpsonの[EPSON LP-9200PS3]を選びます。」なんて書いてありますが、それらしきPSとかいう名前の付いたプリンタはちらほらと見えるものの、ポストスクリプトプリンタかどうか確証がない。メーカーのWebとかも探してみたけど、ポストスクリプ対応ドライバというのが別立てでダウンロードできるようになっていて、おそらくそのファイルをダウンロードしてくれば可能なのかなって思ったけど、実際所持していないプリンタのドライバ使うのもどうかなぁってちょっと悩みました。
いろいろ探してこの情報に行き当たって>TeXに差し込む図のepsをMS Office等から簡単に作る方法 - Kerosoft : Modus Operandi
WMF2EPSというツール関連のドライバ記述ファイルなんぞを使えば良さそうだったので早速導入。ついでにそのツールを使ってepsファイル(簡易ポストスクリプトファイル)を作成してインクルードしてみたんですが、Texworksが落ちちゃう(笑)。ちなみにインクルード記述もTeXに差し込む図のepsをMS Office等から簡単に作る方法 - Kerosoft : Modus Operandiの通りにやってみたんですが、

\documentclass[12pt]{jarticle}
\usepackage{graphicx}

\begin{document}
	\begin{figure}[h]
		\centering
		\caption{図のタイトル\label{fig:sample_figure}}
		\includegraphics[scale=0.6]{images/sample_figure.eps}
	\end{figure}
\end{document}

そもそもこれがちゃんと通らない。文書構造上記述位置が間違っている部分があるんだろうなって思ったので、上のdocumentclassとかusepackageとかを消したり付けたりしてみつつ使っているテンプレのコメントとかを追いかけるとusepackageでgraphicxを記述しているところあったので復活させて、あと\begin{document}も不要だと思ったのでそこも削った。それで記述は通るようになったけど、落ちるのでどうにもならない(笑)。エラーメッセージとか見るとどうも表示領域が記述されていないファイルができあがってしまったようで、変換ソフトWMF2EPSか、もしくはドライバかどこかできちんと変換されていないんだろうなと睨みつついろいろ試してみても駄目。
仕方なくツールをあきらめてExcelグラフをきれいにTeXからPDFへ入れ込む方法excelから直出しする方法に回帰(笑)。
で、仮想ドライバのところを見直しつつ手順をさらってみると(WindowsでのTeX用仮想EPSプリンタの作成方法)、「[ローカルプリンタ][LPTポート]を選択します」なんてあるんだけど、ここ「ファイルへ出力」ってのを選ぶ方が良いわけで、そのあたりのトラップにも少し引っかかりつつ、何とかファイル出力することができるようになり、表示領域の記述も取り込まれるようになりました。excelの場合グラフを選択して印刷すれば、そのグラフだけ出力できるのですが、それでepsファイルを作成してインクルード。この段階ではまだ表示領域指定で余白を切り取る処理をしていなかったので、予想ではグラフが切れて表示されるんだろうなって思ったんですが、なんと90度回転したまま表示されてしまいました。コンパイルのログを見ていると「/90 ROTATE」という記述に対応していません、ってなメッセージが出ていたので、epsファイル内部のパラメータをテキストエディタで書き換えたとしてもたぶん駄目だなって思いながら、イメージデータのインクルードのところで回転記述オプションとか無いかって探したらあったので(スケール表示も)、それを使って何とか望ましい角度で表示できるようになりますた。角度調節の話はここにもあります>http://mathewpeet.org/howto/rotate-postscript/
表示上余白になっているエリアが若干広すぎて文書のレイアウトとして良くなかったので、ExcelグラフをきれいにTeXからPDFへ入れ込む方法のページにあるように座標チェックして反映させようと思いましたが、中身を見ると最初のBoundBox記述は(atend)とかってなっていて、それを座標値に書き換えても状況は良くならない。で、他三カ所(デフォルトと文書本体、トレイラー)にあったPageBoundBox欄に数値が記述されていたので、これをすべて修正すると(おそらく本体だけでも良いとか、そんな感じでしょうが)余白コントロールできることがわかり、数値調整して無事格納しました。ちなみに数値調整のときにデバッグに使ったのはGSviewというツールだけど、Texworks入れたときにインストールされてたのでパッケージ便利だなって再認識しました。

ここまでほぼ1日がかり。いやーなかなか大変でしたよ。入門書とか持ってたら良かったかなーって思いましたけど、逆に本無くてもけっこうできるんだなとも思いました。

追記:謝辞の生成システムなんてあるんですなー。いや便利便利(笑)。
論文のAcknowledgement(謝辞)の書き方