The difference will be clear if you make a new point relative to the last point. An example:
\begin{tikzpicture}
\draw (0,0) -- +(1,1) -- +(2,0);
\fill [red] (0,0) circle (3pt);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) -- ++(1,1) -- +(2,0);
\fill [red] (0,0) circle (3pt);
\end{tikzpicture}
In the first picture, the last coordinate is 2 cm to the right of the first coordinate, while in the second picture, the last coordinate is 2 cm to the right of the second coordinate, because, this is the "new specified position".
The problem is that label
s are also nodes, and it seems that fancytikzposter defines a default node shape which is used everywhere (even in labels) which has two parts, one above for the "title" and other below for the "content".
When you write label={foo}
a node is created with "foo" as title and empty space as content. It is this empty space which creates the extra distance between labels and nodes. For the nodes in the bottom part, the empty space is below the label, so it is not so inmediate to notice it.
This problem can be solved if you define an appropiate style for labels (for example my label
) which uses rectangle
as shape instead the default two-part used by fancytikzposter, and then specify that style in each label. In addition, you can prepare this style to use white color. For example:
\tikzset{my label/.style = {
node distance=0pt, inner sep=8mm,
anchor=south,
rectangle, rounded corners=8mm,
white, fill=blocktitlefillcolor,
}
}
and later:
\node [input, label={[my label]original}] (signOrig) { \includegraphics[width=.14\textwidth]{Erika2b} };
\node [input, label={[my label]grayscale}, right of=signOrig] (signGr) { \includegraphics[width=.14\textwidth]{Erika2b} };
\node [input, label={[my label]binary}, right of=signGr] (signBin) { \includegraphics[width=.14\textwidth]{Erika_segm} };
\node [input, label={[my label]below:edges}, below of=signBin, node distance=0.3\textwidth] (signGray) { \includegraphics[width=. → 14\textwidth]{Erika2_edgeb} };
\node [input, label={[my label]below:segmented}, left of=signGray] (signDilate) { \includegraphics[width=.14\textwidth]{Erika_segm}};
\node [input, label={[my label]below:centerline}, left of=signDilate] (signBw) { \includegraphics[width=.14\textwidth]{Erika_skel}};
This will produce (I cropped the poster to the relevant part):
![Result](https://i.stack.imgur.com/k2gnS.png)
Note however that you get a "complete" rounded rectangle, and not a semi-rectangle as you apparently wanted. To fake this kind of semi-rectangle you can follow a different approach. Instead of label
, use normal nodes (also in a pre-defined style), drawn in background and slightly below the included images. The following code implements this idea:
\usetikzlibrary{shapes,arrows,positioning,backgrounds}
% ...
\tikzstyle{input} = [draw, rectangle, rounded corners, fill=white]
\tikzset{my label/.style = {
node distance=0pt,
inner sep=12mm,
rectangle,
rounded corners=8mm,
white,
fill=blocktitlefillcolor,
}
}
% ...
\begin{tikzpicture}[node distance=0.26\textwidth,>=latex', line width=4pt,anchor=south]
\node [input ] (signOrig) { \includegraphics[width=.14\textwidth]{Erika2b} };
\node [input, right of=signOrig] (signGr) { \includegraphics[width=.14\textwidth]{Erika2b} };
\node [input, right of=signGr] (signBin) { \includegraphics[width=.14\textwidth]{Erika_segm} };
\node [input, below of=signBin, node distance=0.3\textwidth] (signGray) { \includegraphics[width=.14\textwidth]{Erika2_edgeb} };
\node [input, left of=signGray] (signDilate) { \includegraphics[width=.14\textwidth]{Erika_segm}};
\node [input, left of=signDilate] (signBw) { \includegraphics[width=.14\textwidth]{Erika_skel}};
\begin{pgfonlayer}{background}
\node [my label, above=-8mm of signOrig] {original};
\node [my label, above=-8mm of signGr] {grayscale};
\node [my label, above=-8mm of signBin] {binary};
\node [my label, below=-8mm of signBw] {centerline};
\node [my label, below=-8mm of signDilate] {segmented};
\node [my label, below=-8mm of signGray] {edges};
\end{pgfonlayer}
\draw [->] (signOrig) -- (signGr);
\draw [->] (signGr) -- (signBin);
\draw [->] (signBin) -- (signGray);
\draw [->] (signGray) -- (signDilate);
\draw [->] (signDilate) -- (signBw);
\end{tikzpicture}
And this produces:
![Result2](https://i.stack.imgur.com/p3IFX.png)
And also the code is easier to read, IMHO.
Best Answer
The axes specified by the OP corresponds to a radius of 2/\sqrt{3} rather than one, but proportionately one can use: