I am taking the code I put together in With TikZ, is it possible to split a node horizontally and vertically?, and make it into a pic. This is doable, but placing successive pics is problematic: pics, even if named cannot reference each other, though named nodes within a pic can be referenced.
If the height of each pic is measured, it is possible, after the fact, to adjust the position of the pics using half of the pic height (in the optional argument to \step (see example code).
I am having trouble wrapping my head around how to get this to happen with a minimum of manual intervention. The answers at Anchoring TiKZ pics seem to suggest that, under some circumstances, this is possible, but I have not found a way to use them so far...
\documentclass{article}
\usepackage{fontspec,tikz}
\usetikzlibrary{calc,positioning,shapes.multipart,fit,backgrounds}
\newcounter{stepnum}
\newcounter{tmpnum}
\newlength{\recwd}
\setlength{\recwd}{2.5in}
%% |=====8><-----| %%
\makeatletter
\newcommand{\dist}[3]{% #1 cs for result; #2 tikz coord. 1; #3 tikz coord. -- uses calc
\tikz@scan@one@point\pgfutil@firstofone($(#2)-(#3)$)\relax
\pgfmathsetlengthmacro{#1}{veclen(\the\pgf@x,\the\pgf@y)}% <<<--->>>
}%
\makeatother
\tikzset{pics/hvmpnode/.style n args={3}{% The basic mechanism: #1=L; #2=UR; #3=LR
code={%
\node[name=L\thestepnum,rounded corners=1.5pt,fill=cyan!20] {% Left
\hbox to 1.25em{\hss\textbf{#1}\hss}
};
\node[rounded corners,
rectangle split,
rectangle split parts=2,
rectangle split part fill={yellow!80!orange!20,none},
align=center,
rounded corners=1.5pt,
name=R,
right= 0pt of L\thestepnum.east] {%
\nodepart{one}\parbox{\recwd}{\centering\strut#2\strut}% UR
\nodepart{two}\parbox{\recwd}{\parskip1ex\strut#3\strut}
};% LR
\draw[thick] (R.text split east) -- (R.text split west);
\node[inner sep=0pt,
draw,
thick,
rounded corners=1.5pt,
name=W\thestepnum,
anchor=south west,
fit=(L\thestepnum)(R)] {};% W = enclosing box
\draw[thick] (W\thestepnum.south west -| R.west) --
(W\thestepnum.north west -| R.west);% L/R rule
\begin{scope}[on background layer]
\fill[cyan!20,rounded corners=1.5pt] (W\thestepnum.north west) rectangle (R.south west);
\end{scope}
}%
}
}
\NewDocumentEnvironment{example}{s O{} m o}{%
\setcounter{stepnum}{0}%
\parbox{\textwidth}{%
\begingroup
\bfseries
\itshape
\Large
#3
\par
\endgroup
\IfNoValueF{#4}{%
\par\small\itshape\rightskip=0.5\textwidth plus 3em#4\par
}%
}%
\par
\medskip
\begin{tikzpicture}[]
}{%
\end{tikzpicture}
\bigskip
}
\NewDocumentCommand{\step}{O{24pt} m +m}{% #1=materials; #2=technique
\stepcounter{stepnum}%
\setcounter{tmpnum}{\numexpr\thestepnum-1\relax}
\ifnum\thestepnum=1
\path (0,0) pic{hvmpnode={\thestepnum}{#2}{#3}};
\else
\path ([yshift=-#1]0,0 |- W\thetmpnum.south west)%% manually setting yshift as optional argument to \step is possible but icky; this aligns but is suspicious
pic{hvmpnode={\thestepnum}{#2}{#3}};%% faulty
\fi
\dist{\mydist}{W\thestepnum.north}{W\thestepnum.south}\typeout{!!mydist=\mydist!!}
}
%% |=====8><-----| %%
\parindent0pt
\begin{document}
\thispagestyle{empty}
\begin{example}{Foobar}[This is a meaningless bunch of bla bla bla to see if this works in any way, shape, or form.]
\step{1 2 3 4 5 6}{bla bla bla lkfjdlkj}
\step[49.66pt]{z b c d e f 7 8 9}{Much more bla bla bla and this is so much more jejune nonsense and a lot more bubbishy stuff that makes no sense. Much more bla bla bla and this is so much more jejune nonsense and a lot more bubbishy stuff that makes no sense.}
\step[49.66pt]{z b c d e f 7 8 9}{Much more bla bla bla, Much more bla bla bla and this is so much more jejune nonsense and a lot more bubbishy stuff that makes no sense. Much more bla bla bla and this is so much more jejune nonsense an}
\step[19.66pt]{z b c d e f 7 8 9}{Much more bla bla bla}
\end{example}
For the height of each \texttt{pic}, \texttt{\string\typeout} says:
\begin{tabular}{l}
!!mydist=39.33188pt!!\
!!mydist=99.33188pt!!\
!!mydist=99.33188pt!!\
!!mydist=39.33188pt!!
\end{tabular}
\end{document}


pics... I frequently use thechainslibrary, butpics andchainsdo not seem to get on well together :>( – sgmoye Dec 21 '23 at 15:22picmay be tricky, but why simple if complex solution is challenge ... – Zarko Dec 21 '23 at 15:28pics... – sgmoye Dec 21 '23 at 15:36tikzmarkmake available, I can't make the connection of how to use them for this problem. Could you give me a pointer? – sgmoye Dec 23 '23 at 10:05