Top Page
作画
TikZ/pgf
図形の描写に何を使うか。
何年も emath を使っていましたが、あるときに TikZ を知りました。
当初、長大なマニュアル(最新版では1000ページ超)に導入をためらいましたが、コマンド体系がよく整備されており、意外にも「使いながら覚える」ことができます。1週間足らずで乗り換えることに。それほど柔軟かつ強力で、TikZ/pgf を使い始めてから図を描くのが楽しくなりました。
勉強しながら覚書を書いています。
ほんのちょっとですが、アップしておきます。超不定期更新予定。
TikZ 覚書 (pdf; last-update 2014.7.17.)
・ver3.00になっているのを知らなかったので多少はそれに合わせました。
・その他、ムダやおかしなところを整理。
tkz-euclide
emath ほど「高校数学」に特化した機能がないので、平面図形(幾何)の図を書く場合は、別途 tkz-euclide を導入すると(マクロ)、tikz picture 環境で複雑な図を容易に書くことができるようです。上の覚書も参考にしてください。
フォント
数式
newtxmath, libertine
フォントが好きで、フリーのフォントはかなり試しました。
newtxmath は txfonts の改良版で、newtxtext というテキスト用のフォントと newtxmath という数式用のフォントにわかれており、txfonts の「暑苦しい字間」が大幅に改善されています。
頻繁に更新しており、2015年2月時点での最新バージョンは1.401です。なにかしら不具合があった場合は最新バージョンかどうか確かめてください。
比較
奥村先生のところにある「数式フォントの比較」と同じ式を比較しました。
まず最初に。画面でみても差はわかりにくいです。印刷すると差が大きくなります。
computer modern は少しクセが気になります。
mathtime は重厚で整っています。Σ はこれが一番きれいだと思います。Times 系では一つの完成型という気がします。
stix も綺麗ですが Σ が微妙。mathgroup の制限のため、bm 併用での改造方法がわかりません。
改造 mathptmx は癖がなくさわやか。newtxmath はやや重め。libertine は軽くて使いやすいが独特のクセ(特徴)はあります。computer modern + garamond(urw) は、mathdesign の garamond を英数字のみに使えるようにしたもの。印刷するとシャープでカッコいいです。
味わいがあるのはやはり mathpazo や newpxmath。好きなフォント。
cmbright も視認性がよくてよいのですが、aだけが好きになれず(改造しました・後述)。
改造ソースの例
一応ソースを出しておきますが、とりあえず動けばいいやっていう適当な改造なので、問題点などあれば適宜解決してください汗
bm も pmb でなくちゃんと効きます。いずれもまず該当の数式フォントをインストールしてください。libertine のほうは libertine + newtxmath (もちろん libertine のオプションで)のあとに付け加えます。インテグラルの改造はこのページの下のほうで説明しています。garamond のほうは mathdesign をインストールしたあとであれば以下のソースだけで動きます。
cmbright + iwona
mathbold しかない cmbright の bold を iwona の bold に変え、さらに個人的にどうも気持ちがわるい mathit の a を、これまた iwona のものに変えます。
bold でない a は、cmbright に合わせるために、light のものを使用しています(当初、 condensed を使ってみましたがバランスが regular のほうがバランスがよいと思います)。
\usepackage[standard-baselineskips]{cmbright}
\SetSymbolFont{operators}{bold}{OT1}{iwonam} {b}{n}
\SetSymbolFont{letters} {bold}{OML}{iwona} {b}{it}
\DeclareSymbolFont{iwonalp} {OML}{iwonal}{m}{n}
\SetSymbolFont{iwonalp}{normal}{OML}{iwonal}{m}{n}
\SetSymbolFont{iwonalp}{bold} {OML}{iwona}{b}{n}
\DeclareMathSymbol{a}{\mathalpha}{iwonalp}{97}
Libertine + newtxmath(mod,libertine) の Σ の変更部分
\DeclareFontFamily{OMX}{mcmex}{}
\DeclareFontShape{OMX}{mcmex}{m}{n}%
{<-> s * [0.8] cmex8}{}%default =[1.15]
\DeclareSymbolFont{cmbitlargesymbols}{OMX}{mcmex}{m}{n}
\DeclareMathSymbol{\cmsumop}{\mathop}{cmbitlargesymbols}{'120}
\let\sum\cmsumop
computer modern+garamond(mathdesign; modified)
\SetSymbolFont{letters}{normal}{OML}{mdugm}{m}{it}
\SetSymbolFont{letters}{bold}{OML}{mdugm}{mb}{it}
\SetMathAlphabet{\mathrm}{normal}{OML}{mdugm}{m}{n}
\SetMathAlphabet{\mathbf}{bold}{OML}{mdugm}{mb}{n}
\SetMathAlphabet{\mathit}{normal}{OML}{mdugm}{m}{it}
\DeclareSymbolFont{mdnumber}{OML}{mdugm}{m}{n}
\SetSymbolFont{mdnumber}{normal}{OML}{mdugm}{m}{n}
\SetSymbolFont{mdnumber}{bold}{OML}{mdugm}{mb}{n}
\DeclareMathSymbol{0}{\mathalpha}{mdnumber}{48}
\DeclareMathSymbol{1}{\mathalpha}{mdnumber}{49}
\DeclareMathSymbol{2}{\mathalpha}{mdnumber}{50}
\DeclareMathSymbol{3}{\mathalpha}{mdnumber}{51}
\DeclareMathSymbol{4}{\mathalpha}{mdnumber}{52}
\DeclareMathSymbol{5}{\mathalpha}{mdnumber}{53}
\DeclareMathSymbol{6}{\mathalpha}{mdnumber}{54}
\DeclareMathSymbol{7}{\mathalpha}{mdnumber}{55}
\DeclareMathSymbol{8}{\mathalpha}{mdnumber}{56}
\DeclareMathSymbol{9}{\mathalpha}{mdnumber}{57}
mathptmx改・mathtime・その他
ギリシャ文字を txfonts に変更、bold も txfonts のものに、それにあわせて主要な記号も txfonts のものに切り替えています(その後、txfonts から newtxmath のものに変更)。
一応、改造部分の
ソース。AMS も a しかいれておらず適当改造ですが。
(追記2015 : newtxmathの改訂により、いつの間にか不具合が生じていました。integralの添え字の場所がおかしくなります。これを使っている人はまずいないと思いますが、とりあえずintopをnewintopに置換している部分を消去しておいてください。私では原因がわかりません..)
newtxmath が登場したいまとなっては、わざわざ mathptmx に newtxmath の一部を組み込んで使う意味はあまりないかもしれません。
ただ、印刷すると newtxmath とはまた違う個性があります。
Times 系では、しばらくの間、mathtime(商用)の lite 版を使ってみました。
200ページぐらいこれでいろいろ書いてみると、無改造の mathptmx のバランスの悪さがよくわかります。統一感がなく荒さが目立つ。mathtime のほうがはるかにバランスが良いです。
ただし、mathtime は、字間が広く、小さい紙に細かい式を書くにはあまり向きません。文字にウエイトがそれなりについていて、狭くすると暑苦しいからかもしれません。その意味では、ウエイトが軽いのに字間がそこそこある cm はなかなか面白いデザインだと思います。
趣味的なものを書くときには、mathpazo 改造版、pxfonts 改造版(後に newpxmath 改)などを使っています。好みは Palatino、それも pxfonts ではなくて mathpazo です。garamond は mathdesign の記号類がどうもアンマッチングなので上述した cm との組合せで使っています。
その他、またオプションの多い iwona や、優しいタッチで見やすい fourier、bold がくっきりとして読みやすく実用性の高い fouriernc など、一通り遊びました。現在でも使っているのは、euler-vm、数式以外では optima。僕は Hermann Zapf のフォントが好きなようです。
txfonts(newtxmath) の記号の一部を変える
以下の記事は newtxmath の存在を知らなかったときのものですが、Σ記号を変えたい人は読んでください。
妙に存在感のある pxfonts(txfonts) のインテグラルと Σ を変更。
とりあえず mathptmx で。\bm 効かなくなるけど問題ないでしょう。
調べ方
mathptmx.sty をみると、
\DeclareSymbolFont{largesymbols}{OMX}{ztmcm}{m}{n}
という一文がある。
そこで windows で「
*ztmcm*」で検索をかけると、
C:\w32tex\share\texmf\tex\latex\psnfss\omxztmcm.fd
ってのが見つかる。これをテキストエディタで見ると、
\DeclareFontShape{OMX}{ztmcm}{m}{n}{<-> zptmcm7v }
とあるから、今度は
tex testfont で zptmcm7v の testfont.dvi を作る。それをみるとでかい記号の番号がわかる。これを参考にして変更する。
ここらのやり方は、TeX Wiki の Bad Know How を参考にした。
変更方法
pxfonts.sty の後、プリアンブルに
\DeclareSymbolFont{ptmxlargesymbols}{OMX}{ztmcm}{m}{n}
\DeclareMathSymbol{\ptmxintop}{\mathop}{ptmxlargesymbols}{'132}
\let\intop\ptmxintop
\DeclareMathSymbol{\ptmxsumop}{\mathop}{ptmxlargesymbols}{'120}
\let\sum\ptmxsumop
を付け加えればよい。
追記
インテグラルを mathdesign のものに変更した例。こちらは pdf に対応コードが書いてあるので testfont.dvi を作る必要はありません。
\DeclareSymbolFont{mdlargesymbols}{OMX}{mdput}{m}{n}
\DeclareMathSymbol{\mdintop}{\mathop}{mdlargesymbols}{"5A}
\let\intop\mdintop
和文
fontforge と IPAex明朝改
和文フォントは小さい字でも読みやすいという理由で小塚を使っていましたが、次第に飽きてきて使うのをやめました。
他方、IPAex明朝は元のままでは小さい字での印刷が読みにくいのですが、わずかにウエイトをつけると、うまいぐあいになります。IPAex明朝は中性的でカラーリングが少なく使いやすい。ゴシックも IPAex で、複雑な漢字がつぶれない程度に太くしてありますが、これは好みかな。ウエイトをつけないほうがスッキリしています。
で、この太らせる方法ですが、最初、fontforge の太らせる機能(Calligraphic)を使いました。問題ないと思っていたら、最近になってカタカナの「カ」と「ガ」に奇妙な線が入っていることに気がつきました。fontforge 上ではアンチエイリアスを切らないと見えません。
結局、fontforge のウエイト変更でやりなおしました(+10)。これで問題なく使えています。字形も +10程度ではCalligraphic 処理と
変わりない感じです。
フォントにまつわるその他のトラブルなど
texworks(の pdfplatex.bat)と基本14書体
tikz/pgf を使いはじめ、統合環境を winshell から texworks に変更しました。
前述のような改造日本語フォントを埋め込むには、cid-x.map を変更するか、pdfplatex.bat を編集することになります。
この際、注意すべきなのは、初期状態の pdfplatex.bat は基本14書体を埋め込む設定になっておらず、結果、使用する pdfviewer や viewer の設定によって表示が異なる場合があるようです。例えば PDF-XChange Viewer では
表示がおかしいフォントが Acrobat Reader では違うフォントで表示され、さらに texworks の表示がそのいずれとも違うなど。
埋め込むのは簡単で、pdfplatex.bat を「編集」して -f dlbase14.map を追加するだけです。これで安定した表示が得られるはずです。