Using the combo of tikz extension libraries positioning-plus and node-families by qrrbrbirlbel to draw a flowchart. Using node-families to equally size 2 parallel nodes. This issue is that if a custom fill color is used for a node the fill comes in front of the text. Identified that the issue comes from the node-families library. Tried using both texlive and MiKTeX 2019 without any difference in the result.
Is this due to update in tikz/pgf causing the library to fail? In this example by the library author, it seems to compile correctly without any modification.
Example with node-families and text being covered by the nodes fill:
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{shapes.geometric,backgrounds,fit,calc,positioning-plus,node-families}
\tikzset{
basic box/.style = {
shape = rectangle,
align = center,
draw = #1,
fill = #1!25,
rounded corners},
header node/.style = {
Minimum Width = header nodes,
font = \strut\Large\ttfamily,
text depth = +0pt,
fill = white,
draw},
header/.style = {%
inner ysep = +1.5em,
append after command = {
\pgfextra{\let\TikZlastnode\tikzlastnode}
node [header node] (header-\TikZlastnode) at (\TikZlastnode.north) {#1}
node [span = (\TikZlastnode)(header-\TikZlastnode)]
at (fit bounding box) (h-\TikZlastnode) {}
}
},
hv/.style = {to path = {-|(\tikztotarget)\tikztonodes}},
vh/.style = {to path = {|-(\tikztotarget)\tikztonodes}},
fat blue line/.style = {ultra thick, blue}
}
\begin{document}
\begin{tikzpicture}[node distance = 1.2cm, thick, nodes = {align = center},>=latex]
\node[Minimum Width = loop, shape = ellipse, fill = red] (imp-sol) {ellipsoid box};
\node[Minimum Width = loop, fill = yellow, below = of imp-sol] (rec-box)
{rectangular box, and very wiiiiiiiiiiiiiiide\\2nd line};
\node[shift = (left:.5*x_node_dist)] at
($(imp-sol.west|-imp-sol.south)!.5!(rec-box.north west)$) (for-1)
{formula 1};
\node[shift = (right:.5*x_node_dist)] at
($(imp-sol.east|-imp-sol.south)!.5!(rec-box.north east)$) (for-2)
{formula 2};
\begin{scope}[on background layer]
\node[fit = (for-1)(for-2)(imp-sol)(rec-box), basic box = blue,
header = DMFT loop] (dmft-l) {};
\end{scope}
\path[very thick, blue, hv] (rec-box) edge[->] (for-1) edge[<-] (for-2)
(imp-sol) edge[->] (for-2) edge[<-] (for-1);
\end{tikzpicture}
\end{document}
Example without node-families:
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{shapes.geometric,backgrounds,fit,calc,positioning-plus}
\tikzset{
basic box/.style = {
shape = rectangle,
align = center,
draw = #1,
fill = #1!25,
rounded corners},
header node/.style = {
font = \strut\Large\ttfamily,
text depth = +0pt,
fill = white,
draw},
header/.style = {%
inner ysep = +1.5em,
append after command = {
\pgfextra{\let\TikZlastnode\tikzlastnode}
node [header node] (header-\TikZlastnode) at (\TikZlastnode.north) {#1}
node [span = (\TikZlastnode)(header-\TikZlastnode)]
at (fit bounding box) (h-\TikZlastnode) {}
}
},
hv/.style = {to path = {-|(\tikztotarget)\tikztonodes}},
vh/.style = {to path = {|-(\tikztotarget)\tikztonodes}},
fat blue line/.style = {ultra thick, blue}
}
\begin{document}
\begin{tikzpicture}[node distance = 1.2cm, thick, nodes = {align = center},>=latex]
\node[shape = ellipse, fill = red] (imp-sol) {ellipsoid box};
\node[fill = yellow, below = of imp-sol] (rec-box)
{rectangular box, and very wiiiiiiiiiiiiiiide\\2nd line};
\node[shift = (left:.5*x_node_dist)] at
($(imp-sol.west|-imp-sol.south)!.5!(rec-box.north west)$) (for-1)
{formula 1};
\node[shift = (right:.5*x_node_dist)] at
($(imp-sol.east|-imp-sol.south)!.5!(rec-box.north east)$) (for-2)
{formula 2};
\begin{scope}[on background layer]
\node[fit = (for-1)(for-2)(imp-sol)(rec-box), basic box = blue,
header = DMFT loop] (dmft-l) {};
\end{scope}
\path[very thick, blue, hv] (rec-box) edge[->] (for-1) edge[<-] (for-2)
(imp-sol) edge[->] (for-2) edge[<-] (for-1);
\end{tikzpicture}
\end{document}





path picture. So what does the normal fill use? – Jun 08 '19 at 19:38path pictureis such a thing. (Please do not get me wrong, these "hacks" are great!) Apath pictureallows you to put something on the background of a given path that gets clipped by the path, so it can be used in particular (but not only) for filling node paths. BTW, in this particular case you do not necessarily need these "hacks", you could go with a matrix, too. – Jun 08 '19 at 19:44tikzvery recently and I'm loving it so far. For now, I'm using it for any diagrams that I need to get up to speed. – Jun 08 '19 at 19:53