非公開

個人データ

Tikz データの作り方
茂木嘉之

2018 年 7 月 15 日

Tikz データの作り方

非公開

個人データ

1 TikZ のデータ
■TikZ のデータを web から見つけてみると TikZの見本データを@zr tex8r 氏の web[1] からダウンロードして LATEX に張り付けてみた。図 1 が描画したデータであり、下記のデータが描画するために必要な描画データである。

\begin{tikzpicture}[thick]\fill (-1,2) circle [radius=0.5];% まる\draw (-1,-1)--(-0.5,0)--(0,-1)--cycle;% さ

図 2 TikZ で描いた直線だけの升

んかく\draw (1,0.5) rectangle (2,1.5);% し か
アーティスト的といえるのではないか。

く\end{tikzpicture}\begin{figure}\begin{tikzpicture}\draw(0,0)--(5,0);\draw(0,0)--(0,5);\draw(0,0)--(5,5);\draw(0,5)--(5,5);\draw(5,5)--(5,0);\end{tikzpicture}\caption{TikZ で描いた 直線だけの升}

図 1 TikZ での描画

@zr tex8r さんの作品\end{figure}3 曲線を引いてみる

2 直線を引いてみる■直線を引いてみよう\label{fig:masu}

直線は、必ず始点と終点があるから、x,y の座標てで表せれば点 A(x1 , y1 ) と点 B(x2 , y2 ) を結ぶコマンドは下記の通り■曲線を引いてみよう

曲線は、必ず始点と終点があり中間点を指定すればよい。
以下は、”Tikz and pgf”[2] の 20 ページよりHere is an example (the control points have been added f\draw(0,0)--(5,0);\begin{tikzpicture}

x:0 y:0 - - -> x:5cm y:0cm\filldraw [gray] (0,0) circle (2pt)に直線を引く(1,1) circle (2pt)(2,1) circle (2pt)
図 2 のコードは以下のとおり四角形のコマンド(2,0) circle (2pt);もあるが、とにかく作図の基本は直線なのだ。

\draw (0,0) .. controls (1,1) and (2,1) .. (2,0);だから、直線だけで極力作図する習慣をつけ\end{tikzpicture}

たほうがドラフターで書くのに類似していて、

The general syntax for extending a path in a curved

Printed : 2018 年 7 月 15 日Desigind by Yoshiyuki,Mogi

1

Tikz データの作り方

非公開

個人データ

way is .. controls hfirst control pointi and4 円を描く5 閉鎖した図形\tikz \draw (0,0) -- (1,0) -- (1,1) -- cycle;

6 文字の途中に図形を描く■文字の途中に図形を描く

曲線は、必ず始点と終点 [2] があり中間点を指定すればよい。
あるから、x,y の座標てで表せれば点A(x1 , y1 ) と点 B(x2 , y2 ) を結ぶコマンドは下記の通り
曲線は、必ず始点と終点があり中間点を指定すればよい。

\tikz \draw (0pt,0pt) -- (20pt,6pt);あるから、x,y の座標てで表せれば\tikz \fill[orange] (1ex,1ex) circle (1ex);
点 A$(x_1,y_1)$と点 B$(x_2,y_2)$ を結ぶコマンドは下記の通り

Printed : 2018 年 7 月 15 日

Desigind by Yoshiyuki,Mogi

2

Tikz データの作り方

非公開

7 tikz データを作る cgi 入力用 web
tikz デ ー タ 変 換 を す る WEB の デ ー タ 入 力 のweb[3] は以下のとおり

個人データ<form action = "tikz.cgi" method = "post">
x:<input type = "text" name = "x">y:<input type = "text" name = "y">
<BR>
<BR>
<input type="submit" value="GO"><input type="reset" value="Reset"></form><BR><BR><HR>tikz を使うには、latex のプリアンブルを下記の例のように追記が必要です<BR>\documentclass[a4paper10pt]{jsarticle}<br>\usepackage[dvipdfmx]{graphicx}<br>\usepackage[dvipdfmx,svgnames]{xcolor}<br>\usepackage{tikz}<br>\usetikzlibrary{intersections, calc}<br><HR>
図 3 tikz データをつくる cgi 入力用 web の画像<a href="index.html">home</a><BR></BODY></HTML><!DOCTYPE html><HTML lang="ja">8 tikz データを作る cgi<HEAD>■tikz データ変換をする WEB の CGI [3] の出力
結果は図 4 以下のとおり
この CGI *1 は、当然サーバー内に保存されてお<META CHARSET = "UTF-8"><meta name = "date" content = "Oct/2016"><meta name = "author" content = "JA1NKU">

り、皆さんは出力結果図 4 以外見ることができな
い。また、入力部は、図 3 である。

</HEAD><TITLE>Tikz</TITLE>#!/usr/local/bin/ruby<BODY># -*- coding: utf-8 -*-<h1>Tikz の ページ</h1>

require "cgi-lib"

Tikz 図形の作成

input = CGI.new

試作中require "date"

現在、抵抗の記号データを作成します。

day = Date.today<BR>

include Mathx,y に抵抗の中心座標を mm 単位で入力します。
<BR>
<BR>
Printed : 2018 年 7 月 15 日

*1 CommonGatewayInterface(CGI)はWorld Wide

Web 上 [4] で表示するための初めての手法

Desigind by Yoshiyuki,Mogi

3

Tikz データの作り方

非公開

個人データ

図 5 TikzCGI で出力した図形%-------------------------------------\\end{tikzpicture}%Create by Yoshiyuki,Mogi
EOF

図 4 tikz データ変換をする cgi の画像

x1 = input["x"]y1 = input["y"]x = x1.to_fy = y1.to_f
print "Content-Type:text/plain:charset=UTF-8 \n\n"print <<EOF%Drawing tikz cgi #{day} \n\\begin{tikzpicture}%-x:#{x}y:#{y}-----------------\\draw(#{x-23}mm,#{y-0}mm) -(#{x-8}mm,#{y-0}mm) -(#{x-8}mm,#{y+3}mm) -(#{x+8}mm,#{y+3}mm) -(#{x+8}mm,#{y+0}mm) -(#{x+23}mm,#{y+0}mm);\\draw(#{x-8}mm,#{y-0}mm) -(#{x-8}mm,#{y-3}mm) -(#{x+8}mm,#{y-3}mm) -(#{x+8}mm,#{y-0}mm);
Printed : 2018 年 7 月 15 日

Desigind by Yoshiyuki,Mogi

4

Tikz データの作り方

非公開

個人データ

参考文献
[1] @zr tex8r. 「TikZ でインラインな図を 描 く 」web TikZ の 図 の 外 見 の 大 き さ.

https://qiita.com/zr tex8r/items/
61d14cec3f54972578ea[2] ”TikZ and pgf Manual for version 1.18”
https://www.bu.edu/math/files/2013/08/tikzpgfmanual.pdf[3] Yoshiyuki,Mogi. ”JA1NKU Unix life web”
url:http://ja1nku.sakura.ne.jp[4] Shishir Gundacaram. 田辺茂也監訳. 株式会社
エディックス訳. 河村由美子発行. 『CGI プログ
ラミング』1998 年 7 月 21 日 初版 第 5 刷. 株式会社

オイラリー・ジャパン ISBN4-900900-13-3

Printed : 2018 年 7 月 15 日

Desigind by Yoshiyuki,Mogi5