I guess this is one way of doing it:
\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\tikzset{
entity/.code={
\tikzset{
rounded corners,
name=#1,
inner sep=2pt,
every entity/.try,
}%
\def\entityname{#1}%
},
entity anchor/.style={matrix anchor=#1},
every entity/.style={
draw,
},
every property/.style={
inner xsep=0.20cm, inner ysep=0.075cm, anchor=west, text width=1.75in
}
}
\def\property#1{\node[name=\entityname-#1, every property/.try]{\propertysplit#1;};}
\def\properties{\begingroup\catcode`\_=11\relax\processproperties}
\def\processproperties#1{\endgroup%
\gdef\propertycode{}%
\foreach \p in {#1}{%
\expandafter\expandafter\expandafter\gdef\expandafter\expandafter\expandafter\propertycode%
\expandafter\expandafter\expandafter{\expandafter\propertycode\expandafter\property\expandafter{\p}\\}%
}%
\propertycode%
}
\def\propertysplit#1:#2;{#1:\hfill#2}
\def\entitynamenode{%
\node[every entity name/.try] (\entityname-name) {\entityname};
\draw (\entityname-name.south west) -- (\entityname-name.south east);
\\[1ex]
}
\tikzset{
every entity name/.style={every property/.try, align=center}
}
\begin{tikzpicture}[every node/.style={font=\ttfamily}, node distance=0.5in]
\matrix [entity=Employee] {
\entitynamenode
\properties{
Username : varchar(255),
Password : varchar(255),
Name : varchar(255),
LastName : varchar(255)
}
};
\end{tikzpicture}
\end{document}
You are using circuitikz
inside a node. The circuitikz
environment is nothing but a tikzpicture
environment in disguise. Using tikzpicture
inside a node
is not a good idea and it will cause odd things. You can use a box
instead. I have created \mycircuita
and \mycircuitb
boxes (with 0 and 20V) and used them inside the callout node.
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{positioning,%
shapes,shapes.callouts%
}
\usepackage{fouriernc}
\usepackage[scaled=0.83]{helvet}
\usepackage[scaled=0.82]{luximono}
\usepackage{marvosym,pifont}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%---------------------------------------------------------------%
\usepackage[european,siunitx]{circuitikz}
\usepackage{circuitikz}
%---------------------------------------------------------------%
\newsavebox{\mycircuita}
\sbox{\mycircuita}{%
\begin{circuitikz}[sharp corners]
\draw[ultra thick, blue] plot[smooth,domain=-0.25*pi:-0.75*pi, samples=36] (0.25*pi+\x,{-1*sin(2*\x r)});
\draw[ultra thick, red] plot[smooth,domain=-0.25*pi:-0.75*pi, samples=36] (0.25*pi+\x,{+1*sin(2*\x r)});
\draw[ultra thick, red] plot[smooth,domain=-0.75*pi:-1.25*pi, samples=36] (0.25*pi+\x,{+1*sin(2*\x r)});
\draw[ultra thick, blue] plot[smooth,domain=-0.75*pi:-1.25*pi, samples=36] (0.25*pi+\x,{-1*sin(2*\x r)});
\draw (0,3) node[right] {\SI{+5}{V}}
to [R=$R_s$,o-] (0,+1) node[right] {A}
to [R=$R_k$,*-*] (0,-1) node[right] {B}
to [R=$R_s$, -o] (0,-3)
node[right] {\SI{0}{V}};
\end{circuitikz}
}
\newsavebox{\mycircuitb}
\sbox{\mycircuitb}{%
\begin{circuitikz}[sharp corners]
\draw[ultra thick, blue] plot[smooth,domain=-0.25*pi:-0.75*pi, samples=36] (0.25*pi+\x,{-1*sin(2*\x r)});
\draw[ultra thick, red] plot[smooth,domain=-0.25*pi:-0.75*pi, samples=36] (0.25*pi+\x,{+1*sin(2*\x r)});
\draw[ultra thick, red] plot[smooth,domain=-0.75*pi:-1.25*pi, samples=36] (0.25*pi+\x,{+1*sin(2*\x r)});
\draw[ultra thick, blue] plot[smooth,domain=-0.75*pi:-1.25*pi, samples=36] (0.25*pi+\x,{-1*sin(2*\x r)});
\draw (0,3) node[right] {\SI{+5}{V}}
to [R=$R_s$,o-] (0,+1) node[right] {A}
to [R=$R_k$,*-*] (0,-1) node[right] {B}
to [R=$R_s$, -o] (0,-3)
node[right] {\SI{20}{V}};
\end{circuitikz}
}
\begin{document}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (4,0);
\draw (1,-0.1) -- (1,0.1);
\draw (2,-0.1) -- (2,0.1);
\draw (3,-0.1) -- (3,0.1);
\draw[ultra thick,*-*] (a) -- (b);
\node[shape=rectangle callout,
draw, rounded corners,
callout pointer width=3.3 mm,
callout pointer shorten=-2mm,
font=\sffamily\footnotesize,
align=center,
callout absolute pointer={(b)},
scale=0.5] at ([xshift=19mm,yshift=3mm] b)
{termination circuit\\
\usebox{\mycircuita}
};
\node[shape=rectangle callout,
draw, rounded corners,
callout pointer width=3.3 mm,
callout pointer shorten=-2mm,
font=\sffamily\footnotesize,
align=center,
callout absolute pointer={(a)},
scale=0.5] at ([xshift=-19mm,yshift=3mm] a)
{termination circuit\\
\usebox{\mycircuitb}
};
\end{tikzpicture}
\end{document}
As an alternative, you could also use pic
facility of tikz
but using a box
is simpler in this case.
Best Answer