Gnuplotで数式やギリシャ文字など特殊な文字をEPSとして出力する
最近は「gnuplotは古い」とか言われているらしい.まあ別にこだわっているわけでは無いのだけれど,僕は惰性的にgnuplotを使っています*1.
さて,gnuplotのラベルや凡例に数式やギリシャ文字を書きたいことがあります.細かい方法をよく忘れるのでメモしておく.
添え字
のような添え字はTeXと同様に,e^{jw_ct} の様に書くことが出来る.複数文字もTeXのように{}でくくることができる.ただし,上付き文字と下付き文字の位置の関係には注意が必要.
(tex-1) $a_c^2$ (tex-2) ${a_c}^2$
texでは(tex-1)と(tex-2)の出力は異なり,数学的な意味も異なる.
- (output-1)
- (output-2)
(tex-1)は,という文字にという下付き添え字と2という上付き添え字がついている*2が,(tex-2)はの2乗を表す.しかし,上記(tex-1)(tex-2)の記法は,gnuplot(というかpostscript)では区別されず,(output-2)の出力例のように表示されてしまう.gnuplotで同様の表現をしたいときは,
(postscript-1) x@^2_c (postscript-2) x_c^2
のように表記する.
ギリシャ文字
ギリシャ文字は,例えばなら,
{/Symbol w}, {/Symbol W}
のように書くことで表現できる.ここで,/Symbolは単なるフォント指定であって,TeXのように,{}でくくってやる必要あり.また,下の様に特殊文字を使って表現することもできるけど,こっちの方が楽だろう.
特殊文字
{や}を書きたいときは,\でエスケープする必要.&でスペースが挿入可能であるが,普通に半角スペースを入れてもほぼ同じ幅のスペースが反映されるので使ったこと無い(たぶんなにか用途があるのだろう).そのほかのよく使う特殊文字のコードは以下にメモしておく*3.ついでにTeXも書いておく.
postscript | tex | 出力 | 備考 |
---|---|---|---|
/Symbol \042 | \forall | ∀ | |
/Symbol \044 | \exists | ∃ | |
/Symbol \245 | \infty | ∞ | |
/Symbol \261 | \pm | ± | |
\262 | \dag or \textdagger | † | 注1 |
/Symbol \264 | \times | × | |
/Symbol \270 | \div | ÷ | |
/Symbol \271 | \neq | ≠ | |
/Symbol \305 | \bigoplus | ⊕ | |
/Symbol \326 | \sqrt | √ | 注2 |
/Symbol \345 | \sum | Σ | |
/Symbol \362 | \int | ∫ |
文字をイタリックで書きたい
結論から言うと,手間の割に微妙な仕上がりなので使わないことにしている.どうしても文字をイタリックにしたい場合は,epsで出力した後にIllustrator*4等のepsが編集できるソフトウェアで編集したほうが楽と思っている(僕は,他にも理由があって,gnuplotから生成したepsファイルを人に見せるときは必ずIllustratorで微調整を行うようにしています).一応,イタリックフォントをインストールした後,\Itaric や \it 等を用いて直接postscriptに入れることもできるらしい.
epsファイル出力
以上の記法はpostscriptの作法であるので,X11やMacOS XのAquaTermなどでは正確に表示されない(はず).そのため,postscript epsとして出力しなくてはいけない.
set terminal postscript eps enhanced set output "hoge.eps"
enhancedは拡張のオプションなので,つけておかないと一部出力がおかしくなるのかな.