Delete few tikz figures, rename folders

This commit is contained in:
Thomas Dehaeze 2020-07-09 09:29:24 +02:00
parent 23086079a8
commit 7247f865f3
71 changed files with 21 additions and 185 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Binary file not shown.

View File

@ -1 +0,0 @@
../inkscape

1
matlab/figs-paper Symbolic link
View File

@ -0,0 +1 @@
../paper/figs

View File

@ -1 +0,0 @@
../tikz/figs

View File

@ -58,7 +58,7 @@ The system consists of one 2 degree of freedom translation stage on top of a spi
#+name: fig:system
#+caption: Schematic of the studied system
[[file:figs-tikz/system.png]]
[[file:figs-paper/system.png]]
The control inputs are the forces applied by the actuators of the translation stage ($F_u$ and $F_v$).
As the translation stage is rotating around the Z axis due to the spindle, the forces are applied along $\vec{i}_u$ and $\vec{i}_v$.
@ -203,7 +203,7 @@ It is shown in Figure [[fig:campbell_diagram]], and one can see that the system
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/campbell_diagram.pdf', 'width', 'full', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/campbell_diagram.pdf', 'width', 'full', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** Simscape Model
@ -394,7 +394,7 @@ They are compared in Figure [[fig:plant_compare_rotating_speed]].
[[file:figs/plant_compare_rotating_speed.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/plant_compare_rotating_speed.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/plant_compare_rotating_speed.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
#+end_src
* Problem with pure Integral Force Feedback
@ -425,7 +425,7 @@ They are compared in Figure [[fig:plant_compare_rotating_speed]].
#+name: fig:system_iff
#+caption: Figure caption
[[file:figs-tikz/system_iff.pdf]]
[[file:figs-paper/system_iff.pdf]]
** Plant Parameters
Let's define initial values for the model.
@ -642,7 +642,7 @@ The obtained transfer functions are shown in Figure [[fig:plant_iff_compare_rota
[[file:figs/plant_iff_compare_rotating_speed.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/plant_iff_compare_rotating_speed.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/plant_iff_compare_rotating_speed.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** Decentralized Integral Force Feedback
@ -723,7 +723,7 @@ It is shown that for non-null rotating speed, one pole is bound to the right-hal
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/root_locus_pure_iff.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/root_locus_pure_iff.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
#+end_src
* Integral Force Feedback with an High Pass Filter
@ -839,7 +839,7 @@ The obtained Loop Gain is shown in Figure [[fig:loop_gain_modified_iff]].
[[file:figs/loop_gain_modified_iff.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/loop_gain_modified_iff.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/loop_gain_modified_iff.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** Root Locus
@ -980,7 +980,7 @@ As shown in the Root Locus plot (Figure [[fig:root_locus_modified_iff]]), for so
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/root_locus_modified_iff.pdf', 'width', 'full', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/root_locus_modified_iff.pdf', 'width', 'full', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** What is the optimal $\omega_i$ and $g$?
@ -1101,7 +1101,7 @@ In order to visualize the effect of $\omega_i$ on the attainable damping, the Ro
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/root_locus_wi_modified_iff.pdf', 'width', 'full', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/root_locus_wi_modified_iff.pdf', 'width', 'full', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
#+end_src
For the controller
@ -1171,7 +1171,7 @@ To find the optimum, the gain that maximize the simultaneous damping of the mode
[[file:figs/mod_iff_damping_wi.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/mod_iff_damping_wi.pdf', 'width', 'wide', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/mod_iff_damping_wi.pdf', 'width', 'wide', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
#+end_src
* IFF with a stiffness in parallel with the force sensor
@ -1199,7 +1199,7 @@ To find the optimum, the gain that maximize the simultaneous damping of the mode
#+name: fig:system_parallel_springs
#+caption: Figure caption
[[file:figs-tikz/system_parallel_springs.png]]
[[file:figs-paper/system_parallel_springs.png]]
** Equations
#+begin_important
@ -1471,7 +1471,7 @@ One can see that for $k_p > m \Omega^2$, the systems shows alternating complex c
[[file:figs/plant_iff_kp.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/plant_iff_kp.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/plant_iff_kp.pdf', 'width', 'full', 'height', 'full', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** IFF when adding a spring in parallel
@ -1680,7 +1680,7 @@ Thus, decentralized IFF controller with pure integrators can be used if:
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/root_locus_iff_kp.pdf', 'width', 'full', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/root_locus_iff_kp.pdf', 'width', 'full', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** Effect of $k_p$ on the attainable damping
@ -1783,7 +1783,7 @@ It is shown that large values of $k_p$ decreases the attainable damping.
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/root_locus_iff_kps.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/root_locus_iff_kps.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
#+end_src
#+begin_src matlab
@ -1940,7 +1940,7 @@ Let's take $k_p = 5 m \Omega^2$ and find the optimal IFF control gain $g$ such t
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/root_locus_opt_gain_iff_kp.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/root_locus_opt_gain_iff_kp.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
#+end_src
* Comparison
@ -2104,7 +2104,7 @@ IFF With parallel Stiffness
#+end_src
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/comp_root_locus.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/comp_root_locus.pdf', 'width', 'wide', 'height', 'tall', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** Controllers - Optimal Gains
@ -2278,7 +2278,7 @@ Critical Damping corresponds to to $\xi = 1$, and thus:
[[file:figs/comp_transmissibility.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/comp_transmissibility.pdf', 'width', 'half', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/comp_transmissibility.pdf', 'width', 'half', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
#+end_src
*** Compliance :ignore:
@ -2312,7 +2312,7 @@ Critical Damping corresponds to to $\xi = 1$, and thus:
[[file:figs/comp_compliance.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/comp_compliance.pdf', 'width', 'half', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/comp_compliance.pdf', 'width', 'half', 'height', 'normal', 'png', false, 'pdf', false, 'svg', true);
#+end_src
** DC Compliance
@ -2568,7 +2568,7 @@ exportFig('figs/opt_damp_vs_dc_comp.pdf', 'width', 'wide', 'height', 'normal');
[[file:figs/mod_iff_damping_kp.png]]
#+begin_src matlab :tangle no :exports none :results none
exportFig('figs-inkscape/mod_iff_damping_kp.pdf', 'width', 'half', 'height', '650', 'png', false, 'pdf', false, 'svg', true);
exportFig('figs-paper/mod_iff_damping_kp.pdf', 'width', 'half', 'height', '650', 'png', false, 'pdf', false, 'svg', true);
#+end_src
* Notations

View File

@ -1 +0,0 @@
../inkscape

View File

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

View File

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 218 KiB

View File

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View File

Before

Width:  |  Height:  |  Size: 263 KiB

After

Width:  |  Height:  |  Size: 263 KiB

View File

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View File

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 184 KiB

View File

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

Before

Width:  |  Height:  |  Size: 242 KiB

After

Width:  |  Height:  |  Size: 242 KiB

View File

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 259 KiB

View File

Before

Width:  |  Height:  |  Size: 262 KiB

After

Width:  |  Height:  |  Size: 262 KiB

View File

Before

Width:  |  Height:  |  Size: 234 KiB

After

Width:  |  Height:  |  Size: 234 KiB

View File

Before

Width:  |  Height:  |  Size: 232 KiB

After

Width:  |  Height:  |  Size: 232 KiB

View File

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 276 KiB

View File

Before

Width:  |  Height:  |  Size: 319 KiB

After

Width:  |  Height:  |  Size: 319 KiB

View File

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 157 KiB

View File

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 238 KiB

View File

Before

Width:  |  Height:  |  Size: 405 KiB

After

Width:  |  Height:  |  Size: 405 KiB

View File

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View File

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View File

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

1
tikz/figs Symbolic link
View File

@ -0,0 +1 @@
../paper/figs

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

View File

@ -89,20 +89,6 @@ Configuration file is accessible [[file:config.org][here]].
[[file:figs/system.png]]
* X-Y Rotating Positioning Platform
#+begin_src latex :file control_diagram_iff.pdf
\begin{tikzpicture}
% Blocs
\node[block={2.0cm}{2.0cm}] (P) {$\bm{G}_{f}$};
\node[above] at (P.north) {Plant};
\node[block={1.5cm}{1.5cm}, below=1.2 of P] (K) {$\begin{bmatrix}K_F & 0 \\ 0 & K_F\end{bmatrix}$};
\node[above, align=center] at (K.north) {Decentralized\\Controller};
% Connections and labels
\draw[<-] (P.west) node[above left]{ $\begin{bmatrix}F_u \\ F_v\end{bmatrix}$} node[below left]{$-$} -- ++(-1.2, 0) |- (K.west);
\draw[->] (P.east) node[above right]{$\begin{bmatrix}f_u \\ f_v\end{bmatrix}$} -- ++(1.2, 0) |- (K.east);
\end{tikzpicture}
#+end_src
#+begin_src latex :file control_diagram_iff.pdf
\tikzset{block/.default={0.8cm}{0.8cm}}
\tikzset{addb/.append style={scale=0.7}}
@ -140,73 +126,6 @@ Configuration file is accessible [[file:config.org][here]].
#+RESULTS:
[[file:figs/control_diagram_iff.png]]
* X-Y Rotating Positioning Platform with Force Sensors
#+begin_src latex :file system_force_sensors.pdf
\begin{tikzpicture}
% Angle
\def\thetau{25}
% Rotational Stage
\draw[fill=black!60!white] (0, 0) circle (4.3);
\draw[fill=black!40!white] (0, 0) circle (3.8);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.5, 2.5) {\small Rotating Stage};
% Rotating Scope
\begin{scope}[rotate=\thetau]
% Rotating Frame
\draw[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.6, 2.6) {\small X-Y Stage};
% Mass
\draw[fill=white] (-1, -1) rectangle (1, 1);
% Label
\node[anchor=south west, rotate=\thetau] at (-1, -1) {\small Payload};
% Attached Points
\node[] at (-1, 0){$\bullet$};
\draw[] (-1, 0) -- ++(-0.2, 0) coordinate(au);
\node[] at (0, -1){$\bullet$};
\draw[] (0, -1) -- ++(0, -0.2) coordinate(av);
% Force Sensors
\draw[fill=white] ($(au) + (-0.2, -0.5)$) rectangle ($(au) + (0, 0.5)$);
\draw[] ($(au) + (-0.2, -0.5)$)coordinate(actu) -- ($(au) + (0, 0.5)$);
\draw[] ($(au) + (-0.2, 0.5)$)coordinate(ku) node[above=0.1, rotate=\thetau]{$f_{u}$} -- ($(au) + (0, -0.5)$);
\draw[fill=white] ($(av) + (-0.5, -0.2)$) rectangle ($(av) + (0.5, 0)$);
\draw[] ($(av) + ( 0.5, -0.2)$)coordinate(actv) -- ($(av) + (-0.5, 0)$);
\draw[] ($(av) + (-0.5, -0.2)$)coordinate(kv) node[left=0.1, rotate=\thetau]{$f_{v}$} -- ($(av) + ( 0.5, 0)$);
% Spring and Actuator for U
\draw[actuator={0.6}{0.2}] (actu) -- node[above=0.1, rotate=\thetau]{$F_u$} (actu-|-2.6,0);
\draw[spring=0.2] (ku) -- node[above=0.1, rotate=\thetau]{$k$} (ku-|-2.6,0);
\draw[actuator={0.6}{0.2}] (actv) -- node[left, rotate=\thetau]{$F_v$} (actv|-0,-2.6);
\draw[spring=0.2] (kv) -- node[left, rotate=\thetau]{$k$} (kv|-0,-2.6);
\end{scope}
% Inertial Frame
\draw[->] (-4, -4) -- ++(2, 0) node[below]{$\vec{i}_x$};
\draw[->] (-4, -4) -- ++(0, 2) node[left]{$\vec{i}_y$};
\draw[fill, color=black] (-4, -4) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:$\vec{i}_z$] at (-4, -4){};
\draw[->] (0, 0) -- ++(\thetau:2) node[above, rotate=\thetau]{$\vec{i}_u$};
\draw[->] (0, 0) -- ++(\thetau+90:2) node[left, rotate=\thetau]{$\vec{i}_v$};
\draw[dashed] (0, 0) -- ++(2, 0);
\draw[] (1.5, 0) arc (0:\thetau:1.5) node[midway, right]{$\theta$};
\node[] at (0,0) {$\bullet$};
\draw[->] (3.5, 0) arc (0:40:3.5) node[midway, left]{$\Omega$};
\end{tikzpicture}
#+end_src
#+RESULTS:
[[file:figs/system_force_sensors.png]]
* Decentralized Integral Force Feedback
#+begin_src latex :file system_iff.pdf
\begin{tikzpicture}
@ -284,88 +203,6 @@ Configuration file is accessible [[file:config.org][here]].
#+RESULTS:
[[file:figs/system_iff.png]]
* Decentralized Direct Velocity Feedback
#+begin_src latex :file system_dvf.pdf
\begin{tikzpicture}
% Angle
\def\thetau{25}
% Rotational Stage
\draw[fill=black!60!white] (0, 0) circle (4.3);
\draw[fill=black!40!white] (0, 0) circle (3.8);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.5, 2.5) {\small Rotating Stage};
% Rotating Scope
\begin{scope}[rotate=\thetau]
% Rotating Frame
\draw[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.6, 2.6) {\small X-Y Stage};
% Mass
\draw[fill=white] (-1, -1) rectangle (1, 1);
% Label
\node[anchor=south west, rotate=\thetau] at (-1, -1) {\small Payload};
% Attached Points
\node[] at (-1, 0){$\bullet$};
\draw[] (-1, 0) -- ++(-0.2, 0) coordinate(au);
\node[] at (0, -1){$\bullet$};
\draw[] (0, -1) -- ++(0, -0.2) coordinate(av);
% Attached Points
\node[] at (-1, 0){$\bullet$};
\draw[] (-1, 0) -- ++(-0.2, 0) coordinate(cu);
\draw[] ($(cu) + (0, -0.5)$) coordinate(actu) -- ($(cu) + (0, 0.5)$) coordinate(ku);
\node[] at (0, -1){$\bullet$};
\draw[] (0, -1) -- ++(0, -0.2) coordinate(cv);
\draw[] ($(cv) + (-0.5, 0)$)coordinate(kv) -- ($(cv) + (0.5, 0)$) coordinate(actv);
% Spring and Actuator for U
\draw[actuator={0.6}{0.2}] (actu) -- coordinate[midway](actumid) (actu-|-2.6,0);
\draw[spring=0.2] (ku) -- node[above=0.1, rotate=\thetau]{$k$} (ku-|-2.6,0);
\draw[actuator={0.6}{0.2}] (actv) -- coordinate[midway](actvmid) (actv|-0,-2.6);
\draw[spring=0.2] (kv) -- node[left, rotate=\thetau]{$k$} (kv|-0,-2.6);
% Displacement measurement
\draw[<->, dashed] (-2.6, -0.8) -- (-1 , -0.8) coordinate(dutop);
\draw[<->, dashed] ( 0.8, -2.6) -- ( 0.8, -1) coordinate(dvtop);
% Controllers
\node[block={0.6cm}{0.6cm}, rotate=\thetau] (Ku) at ($(actumid) + (0, -1.2)$) {$K_{V}$};
\draw[->] ($(dutop) + (-0.1, 0)$) node[below left, rotate=\thetau]{$v_u$} |- (Ku.east);
\draw[->] (Ku.north) -- ($(actumid) + (0, -0.1)$);
\node[block={0.6cm}{0.6cm}, rotate=\thetau] (Kv) at ($(actvmid) + (1.2, 0)$) {$K_{V}$};
\draw[->] ($(dvtop) + (0, -0.1)$) node[below right, rotate=\thetau]{$v_v$} -| (Kv.north);
\draw[->] (Kv.west) -- ($(actvmid) + (0.1, 0)$);
\node[above=0.1, rotate=\thetau] at (actumid) {$F_u$};
\node[left=0.1, rotate=\thetau] at (actvmid) {$F_v$};
\end{scope}
% Inertial Frame
\draw[->] (-4, -4) -- ++(2, 0) node[below]{$\vec{i}_x$};
\draw[->] (-4, -4) -- ++(0, 2) node[left]{$\vec{i}_y$};
\draw[fill, color=black] (-4, -4) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:$\vec{i}_z$] at (-4, -4){};
\draw[->] (0, 0) -- ++(\thetau:2) node[above, rotate=\thetau]{$\vec{i}_u$};
\draw[->] (0, 0) -- ++(\thetau+90:2) node[left, rotate=\thetau]{$\vec{i}_v$};
\draw[dashed] (0, 0) -- ++(2, 0);
\draw[] (1.5, 0) arc (0:\thetau:1.5) node[midway, right]{$\theta$};
\node[] at (0,0) {$\bullet$};
\draw[->] (3.5, 0) arc (0:40:3.5) node[midway, left]{$\Omega$};
\end{tikzpicture}
#+end_src
#+RESULTS:
[[file:figs/system_dvf.png]]
* Springs in parallel
#+begin_src latex :file system_parallel_springs.pdf
\begin{tikzpicture}