芋の独り言

当ブログへのアクセスは当ブログのプライバシーポリシーに同意したものとみなします.

Tikzのノードよく使いそうなやつ

nodeのオプションのうちのshapeを指定することでnodeの形を変更できるわけですが, 主に使いそうなものをまとめておきたいと思います.

  • 四角:rectangle
    • 角が丸くなった四角:rounded rectangle
  • 円形:circle
  • 楕円:ellipse
  • 星形:star
  • 円筒:cylinder
  • 雲形:cloud

以下はたぶん共通するオプション...

  • draw:これを書かないと図形(の枠)が描画されない
  • aspect:縦と横の比
  • fill:blue!20という様に指定し,図形内部の塗りつぶしの色を指定
  • node distance:cmやptで他のノードとの間隔を指定
  • height
  • width
  • rotate

書いてみた

スクリプト

\documentclass[a4j,,11pt,dvipdfmx]{ujreport} 

\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{pgfplots}
\usetikzlibrary{arrows, chains, positioning, quotes, shapes}%shapes.geometric, shapes.misc}
\usetikzlibrary{shapes.gates.logic.US}
\begin{document}

\begin{figure}[H]
\centering
\begin{tikzpicture}
    \tikzset{Rectangle/.style={rectangle,  draw,  text centered, text width=5cm}};
    \tikzset{Ellipse/.style={ellipse,  draw, aspect=0.8, text centered, text width=3cm}};
    \tikzset{Cloud/.style={cloud, draw,aspect=2.0,  text centered,text width=3cm,minimum height=10pt}};
    \tikzset{Cylinder/.style={cylinder, draw,aspect=0.3,shape border rotate=90,  
    text centered,text width=3cm}};
    
    \node[Cloud](a){雲形};
    \node[Cloud,cloud puffs=20,right of=a,node distance = 5cm](b) at (0,0) {雲形(角増加)};
    \node[Cloud,cloud puff arc=0.8,right of=b,node distance = 5cm](c) {角ばった雲形};
    
    
    \node[Rectangle,below=1.5 of a](d){長方形}; 
    \node[draw,rounded rectangle,right of=d,node distance = 5cm](e) {丸ばった長方形};
    \node[Cylinder,right of=e,node distance = 5cm](f){円筒};
    
    \node[Ellipse,below=1.5 of d](g){楕円};
    \node[draw,regular polygon,regular polygon sides=5,right of=g,node distance = 5cm](h) {多角形};
    \node[draw,diamond,right of=h,node distance = 5cm](i) {ひし形};
    
    \node[draw,star,star points=5,below=1.5 of g](j) {};
    \node[draw,star,star points=7,star point ratio=0.8,right of=j,node distance = 5cm](k) {};
    \node[draw,star,start chain=10,right of=k,node distance = 5cm](l) {};
    
    \node[draw=none,fill=none,below=1.5 of j](m) {枠なし};
    \node[draw,cross out,right of=m,node distance = 5cm](n) {交差};
    \node[draw,strike out,right of=n,node distance = 5cm](o) {スラッシュ};
    
    \node[draw,circle,below=1.5 of m](p) {円形};
    \node[draw,circle split,right of=p,node distance = 5cm](q) {円形 \nodepart{lower} 2分割};
    \node[draw,forbidden sign,text width=4em, text centered,right of=q,node distance = 5cm](r){円形};
    
    \node[draw,arrow box,below=1.5 of p](s) {矢印ボックス};
    \node[draw,dart,right of=s,node distance = 5cm](t) {};
    \node[draw,double arrow,right of=t,node distance = 5cm](u) {両矢印};
    
    \node[draw,kite,below=1.5 of s](v) {};
    \node[draw,rectangle split,right of=v,node distance = 5cm](w) {分割された \nodepart{second} 長方形};
    \node[draw,pin,right of=w,node distance = 5cm](x) {ピン付};    

\end{tikzpicture}
\end{figure}

\begin{figure}[H]
\centering
\begin{tikzpicture}
    
    \node[draw,and gate US](a){AND};
    \node[draw,or gate US,right of=a,node distance = 5cm](b) at (0,0) {OR};
    \node[draw,not gate US,right of=b,node distance = 5cm](c) {NOT};
    \node[draw,xor gate US,right of=c,node distance = 5cm](d){XOR};  
    
    \node[draw,nand gate US,below=1.5 of a](e){NAND};
    \node[draw,nor gate US,right of=e,node distance = 5cm](f){NOR};
    \node[draw,xnor gate US,right of=f,node distance = 5cm](g){XNOR};
     

\end{tikzpicture}
\end{figure}

\begin{figure}[H]
\centering
\begin{tikzpicture}  
    \node (x) at (0, 1) {$x$};
    \node (y) at (0, 0) {$y$};
    
    \node[draw,and gate US,logic gate inputs=nn,right of=x,node distance = 5cm] (and){AND};
    \draw (x) -- (and.input 1);
    \draw (y) -- (and.input 2);
    
\end{tikzpicture}
\end{figure}

\begin{figure}[H]
\centering
\begin{tikzpicture}  
    \node (x) at (0, 1) {$x$};
    \node (y) at (0, 0) {$y$};
    \node (z) at (0, -1) {$z$};
    
    \node[draw,and gate US,logic gate inputs={normal,normal,normal},right of=y,node distance = 5cm] (and){AND};
    \draw (x) -- (and.input 1);
    \draw (y) -- (and.input 2);
    \draw (z) -- (and.input 3);
    
\end{tikzpicture}
\end{figure}

\end{document}

\Downarrow\Downarrow\Downarrow\Downarrow\Downarrow\Downarrow

出力結果

以上のスクリプトコンパイルしてPDF出力すると以下のような図がページに出力されます. 示している図はPDFのページから切り取ったものです.

f:id:kusoimox:20210219124851p:plain
色々なノードの図形
f:id:kusoimox:20210219124856p:plain
論理演算子論理回路の記号

参考


他Tikz関連