少しネタを含んでいます。
LaTeX歴が長いので,結構Tikzで図を描くのですが, 手軽に試せるものってありませんでした。
TikzがJuliaで使えればと思っていたのですが,ありました。 TikzPictures.jlパッケージです。
とりあえずTeXLiveをインストールしてパスを通して実行できる状況なら 多分使えると思います。(ざっくばらん)
using TikzPictures tp = TikzPicture( L""" % Plot \draw[draw,red, fill=red!30, thick] (0,0) rectangle (10, 6); % Subplot \draw[magenta, fill=magenta!10, thick] (0.5,0.5) rectangle (4.75, 5.5); \draw[magenta, fill=magenta!10, thick] (5.25,0.5) rectangle (9.5, 5.5); % Axis \draw[gray] (1.0, 1.0) grid (4.0, 5.0); \draw[ black, thick] (1.0, 5.0) -- (1.0,1.0) -- (4.0, 1.0); \draw[gray] (6.0, 1.0) grid (9.0, 5.0); \draw[black, thick] (6.0, 5.0) -- (6.0,1.0) -- (9.0, 1.0); % Series \draw[blue, very thick] (1, 3) sin (2, 4) cos (3, 3) sin (4, 2); \draw[blue, very thick] (6, 1) -- (9, 4); % \node[draw,red, fill=red!30] at (5, 6) {Plot}; \node[draw,magenta, fill=magenta!10] at (2.625, 5.5) {Subplot}; \node[draw,magenta, fill=magenta!10] at (7.375, 5.5) {Subplot}; \node[black, fill=gray!80] at (2.625, 1.0) {Axis}; \node[black, fill=gray!80] at (7.375, 1.0) {Axis}; \node[blue, fill=blue!30] at (2.625, 2.5) {Series}; \node[blue, fill=blue!30] at (7.375, 3.2) {Series}; \node at (5, 6.5) {\Large PlotsのAttributeの模式図}; """ , preamble=raw"\usepackage{luatexja}" ) save(PDF("test"), tp) run(`inkscape -w 768 -o test.png test.pdf`)
Julia言語のソースなのにほとんどがTikZのソースという訳の分からないソースリストです。 注意点としては,LaTeXStringの中で空行があるとエラーが発生するので, 空コメント等で空行を無くすのがポイントでしょうか。
出力結果は次の通りです。
PlotsのAttributeのイメージ図(png)です。 本当は明調体とかなのですが,Inkscapeがpdfからpngに変換する時に勝手に変えているようです。
pdf出力でいいなら,WindowsならSumatrapdfで開きっ放しにするとプレビューしながら 図が描けてなかなかいいかもしれません。
追記
TikzPictures.jlでCircuiTikZを使うを書きながら気付いたのですが,
LaTeXStringsを使ったL"ほげほげ"
の書き方は,両端に$
を自動で入れるので避けた方がいいかもしれません。
普通の文字列で,\\draw
といった感じでエスケープしながら書く方が意味不明なエラーが防げていいかもしれません。