I created some node styles which are inspired by the presentation of Malte Schmitz. As you can see in the MWE, many things are hard coded – especially the node positioning of the tex,pdf etc. nodes. My question is: What do I have to change in the code to get the usage
\node … (tex) --+ (2,0) … working?
MWE:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\setbeamertemplate{navigation symbols}{}
\tikzset{
tex/.style={
append after command={
\pgfextra{
\node[minimum width=1.5cm,minimum height=1.5cm] (a) at (\tikzlastnode) {};
\draw[green!50!black,thick] ([xshift=-.4cm]a.north east) -- ([xshift=-.4cm,yshift=-.4cm]a.north east) -- ([yshift=-.4cm]a.north east);
\node[white,fill=green!50!black] at ([yshift=-.4cm]a.north west) (tex) {\sf TEX};
\draw[thick,green!50!black] (a.north west) -- (tex.north);
\draw[thick,green!50!black] (tex.south) -- (a.south west) -- (a.south east) -- ([yshift=-.4cm]a.north east) -- ([xshift=-.4cm]a.north east) -- ([xshift=-.014cm]a.north west);
\draw[shorten <=.2cm,thick,green!50!black] ([yshift=-.8cm]a.north west) -- ([xshift=-.2cm,yshift=-.8cm]a.north east) -- ([xshift=-.2cm,yshift=-.9cm]a.north east) -- ([yshift=-.9cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=-.2cm]a.north east);
}
}
},
pdf/.style={
append after command={
\pgfextra{
\node[minimum width=1.5cm,minimum height=1.5cm] (a) at (\tikzlastnode) {};
\draw[orange!80!black,thick] ([xshift=-.4cm]a.north east) -- ([xshift=-.4cm,yshift=-.4cm]a.north east) -- ([yshift=-.4cm]a.north east);
\node[white,fill=orange!80!black] at ([yshift=-.4cm]a.north west) (pdf) {\sf PDF};
\draw[thick,orange!80!black] (a.north west) -- (pdf.north);
\draw[thick,orange!80!black] (pdf.south) -- (a.south west) -- (a.south east) -- ([yshift=-.4cm]a.north east) -- ([xshift=-.4cm]a.north east) -- ([xshift=-.014cm]a.north west);
\draw[shorten <=.2cm,thick,orange!80!black] ([yshift=-.8cm]a.north west) -- ([xshift=-.2cm,yshift=-.8cm]a.north east) -- ([xshift=-.2cm,yshift=-.9cm]a.north east) -- ([yshift=-.9cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=-.2cm]a.north east);
}
}
},
aux/.style={
append after command={
\pgfextra{
\node[minimum width=1.5cm,minimum height=1.5cm] (a) at (\tikzlastnode) {};
\draw[purple!50,thick] ([xshift=-.4cm]a.north east) -- ([xshift=-.4cm,yshift=-.4cm]a.north east) -- ([yshift=-.4cm]a.north east);
\node[white,fill=purple!50] at ([yshift=-.4cm]a.north west) (te) {\sf AUX};
\draw[thick,purple!50] (a.north west) -- (te.north);
\draw[thick,purple!50] (te.south) -- (a.south west) -- (a.south east) -- ([yshift=-.4cm]a.north east) -- ([xshift=-.4cm]a.north east) -- ([xshift=-.014cm]a.north west);
\draw[shorten <=.2cm,thick,purple!50] ([yshift=-.8cm]a.north west) -- ([xshift=-.2cm,yshift=-.8cm]a.north east) -- ([xshift=-.2cm,yshift=-.9cm]a.north east) -- ([yshift=-.9cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=-.2cm]a.north east);
}
}
},
log/.style={
append after command={
\pgfextra{
\node[minimum width=1.5cm,minimum height=1.5cm] (a) at (\tikzlastnode) {};
\draw[thick] ([xshift=-.4cm]a.north east) -- ([xshift=-.4cm,yshift=-.4cm]a.north east) -- ([yshift=-.4cm]a.north east);
\node[white,fill=black] at ([yshift=-.4cm]a.north west) (log) {\sf LOG};
\draw[thick] (a.north west) -- (log.north);
\draw[thick] (log.south) -- (a.south west) -- (a.south east) -- ([yshift=-.4cm]a.north east) -- ([xshift=-.4cm]a.north east) -- ([xshift=-.014cm]a.north west);
\draw[shorten <=.2cm,thick] ([yshift=-.8cm]a.north west) -- ([xshift=-.2cm,yshift=-.8cm]a.north east) -- ([xshift=-.2cm,yshift=-.9cm]a.north east) -- ([yshift=-.9cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=.2cm]a.north west) -- ([yshift=-1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=-.2cm]a.north east) -- ([yshift=-1.1cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=.2cm]a.north west) -- ([yshift=-1.2cm,xshift=-.2cm]a.north east);
}
}
}
}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\scalebox{1.1}[1.1]{\node[tex,yshift=-6cm] (r) {};}
\draw[very thick,->] ([xshift=.9cm,yshift=-.5cm]r.east) --+ (2,0) node[right] (s) {\bf\textrm{pdf\TeX}};
\draw[very thick,->] (s) --+ (2,0);
\node[pdf,right] at ($(s)+(3.5,0)$) {};
\uncover<2>{
\draw[very thick,->] (s) --+ (-1,-2);
\draw[very thick,->] (s) --+ (1,-2);
\node[xshift=-.5cm,yshift=-1cm,aux] at ($(s)+(-1,-2)$) {};
\node[xshift=.5cm,yshift=-1cm,log] at ($(s)+(1,-2)$) {};
}
\uncover<3->{
\begin{scope}[opacity=.5]
\draw[very thick,->] (s) --+ (-1,-2);
\draw[very thick,->] (s) --+ (1,-2);
\node[xshift=-.5cm,yshift=-1cm,aux] (c1) at ($(s)+(-1,-2)$) {};
\node[xshift=.5cm,yshift=-1cm,log] at ($(s)+(1,-2)$) {};
\end{scope}
\draw[very thick,->,shorten >=1cm] (0,-7.7) |- (2,-12) node[right=-1] (node) {\rm \textbf{pdf\TeX}};
\draw[very thick,->] (node) --+ (2,0);
\scalebox{1.1}[1.1]{\node[pdf] at (5,-11){};}
}
\end{tikzpicture}
\end{frame}
\end{document}
P.S.: I know that the build of latex files is different as in the presentation, but this is just a visualiation.
The output:






path picturesor store them in saveboxes that can be put into the nodes? – Aug 21 '18 at 23:58