読者です 読者をやめる 読者になる 読者になる

TeX Alchemist Online

TeX を使って化学のお仕事をしています。

鉄緑会 東大問題集シリーズ 最新刊発売!

TikZ TeX PDF

先週,鉄緑会 東大問題集シリーズの最新刊が発売となりました。昨年は,11月にこのシリーズに新規科目として物理が加わりました。今年は,物理も含めて4科目が7月に一斉発売の運びとなりました。

2017年度用 鉄緑会東大数学問題集 資料・問題篇/解答篇 2007‐2016

2017年度用 鉄緑会東大数学問題集 資料・問題篇/解答篇 2007‐2016

2017年度用 鉄緑会東大古典問題集 資料・問題篇/解答篇 2007‐2016

2017年度用 鉄緑会東大古典問題集 資料・問題篇/解答篇 2007‐2016

2017年度用 鉄緑会東大化学問題集 資料・問題篇/解答篇 2007‐2016

2017年度用 鉄緑会東大化学問題集 資料・問題篇/解答篇 2007‐2016

2017年度用 鉄緑会東大物理問題集 資料・問題篇/解答篇 2007‐2016

2017年度用 鉄緑会東大物理問題集 資料・問題篇/解答篇 2007‐2016

さて,今年のTeX組版的な注目点としては,物理の章扉を TikZ で全面的に作り直した点が挙げられます。

ページサンプル

f:id:doraTeX:20160712120342p:plain

このページは,Illustrator などのグラフィックソフトは一切使わずに,LaTeX + TikZ のみで作成しています。

全体の配置は current page ノードで

このページには表などのパーツが色々あります。これらは,TikZ の current page ノードを用いて,ページ上の自由な場所に配置しています。current page と jsclasses との相性問題を解決するために,以前の記事で紹介した技法を使っています。

doratex.hatenablog.jp

表は colortbl パッケージで描画したものを \node で配置

f:id:doraTeX:20160712102915p:plain:w520

f:id:doraTeX:20160712102920p:plain:w191

これらの表は,colortbl パッケージを用いて描画した tabular 環境を,\node でページ上に配置しています。

レーダーチャートの描画順序

f:id:doraTeX:20160712103037p:plain

このレーダーチャートも TikZ の \draw\fill で描画したものです。ただし,描画の順に注意が必要です。

後から描画したものが「上書き」で描画されてゆくことに注意して,次の順序で描画することで,適切な重なりの順序が実現できます。

  1. レーダー内側の灰色の塗りを描く
    f:id:doraTeX:20160712103833p:plain:w300

  2. 軸と補助線を描く
    f:id:doraTeX:20160712103838p:plain:w300

  3. レーダー外周の黒い線を描く
    f:id:doraTeX:20160712104230p:plain:w300

文字の縁取りは dvipdfmx special で

f:id:doraTeX:20160712105056p:plain

この部分では,hiraprop パッケージを用いてヒラギノ角ゴ ProN W6 の従属欧文を出力するとともに,それを dvipdfmx special を用いて縁取りしています。

\special{pdf:bcolor [1] [0]}%
\special{pdf:literal direct q 0.5 w 2 Tr}%
2016%
\special{pdf:literal direct Q}%
\special{pdf:ecolor}%

とすれば,縁取りした「2016」を出力できます。これを \node でページ上に配置しているわけです。

それぞれの命令の意味は次の通りです。

\special{pdf:bcolor [1] [0]}%

文字色を指定。[1] は「文字の塗りを白」に,[0] は「文字の縁取りを黒」に指定しています。

\special{pdf:literal direct q 0.5 w 2 Tr}%

0.5 w の部分が「縁取りの太さを0.5pt」に指定しています。2 Tr の部分は,「縁取り塗りつぶしモード」に変更しています。(0 Tr ならば通常モード,1 Tr なら縁取りのみで塗りなしモード」になります。)

\special{pdf:literal direct Q}%

「縁取り塗りつぶしモード」を終了し,通常モードに戻ります。

\special{pdf:ecolor}%

bcolor で始めた文字色指定を終了し,通常色に戻します。

縁取りの応用例

この dvipdfmx special を用いた縁取りは,PDFの機能を用いて縁取りしていますので,和文・欧文・数式を問わず,あらゆるフォントを縁取りできます。

また,文字色指定において,[1][0] のように数値1つで指定するとグレースケール指定,[0 .3 .2] のように数値3つで指定するとRGB指定となります。

これらを用いて,派手な例を作ってみたものが以下のサンプルになります。

\def\a{\special{pdf:bcolor [1 0 0] [0 0 1]}a\special{pdf:ecolor}}
\def\b{\special{pdf:bcolor [0 1 1] [0 0 1]}b\special{pdf:ecolor}}

\special{pdf:literal direct q 0.2 w 2 Tr}%
\textgt{%
\special{pdf:bcolor [0 1 0] [0 0 1]}\special{pdf:ecolor}%
\special{pdf:bcolor [1 0 0] [0 0 .5]}\special{pdf:ecolor}%
\special{pdf:bcolor [0 0 .6] [1 0 .7]}\special{pdf:ecolor}%
\special{pdf:bcolor [.7 0 .7] [0 .5 .5]}\special{pdf:ecolor}%
}
\[(\a+\b)^2=\a^2+2\a\b+\b^2\]
\special{pdf:literal direct Q}%

f:id:doraTeX:20160712115014p:plain