This question is linked to this one, and I want to extend the answer given here.
To be short, I want to do the same thing but with several rounded boxes drawn on the same arrow.
Here is a non-minimal working example:
%!TEX TS-program = lualatex
%!TEX encoding = UTF-8 Unicode
\documentclass[a4paper,12pt]{article}
\usepackage[french]{babel}
\usepackage{amsmath}
\usepackage{amssymb,amsfonts,textcomp}
\usepackage{color}
\usepackage{fancyhdr}
\usepackage[top=1cm,bottom=1cm,left=0.751cm,right=1cm,nohead,nofoot]{geometry}
\usepackage{array}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{hyperref}
\hypersetup{pdftex, colorlinks=true, linkcolor=blue, citecolor=blue, filecolor=blue, urlcolor=blue, pdftitle=Curriculum Vitae}
%Police Verdana
%https://tex.stackexchange.com/questions/10048/how-to-use-verdana-under-mac-os
\usepackage{fontspec}%déjà chargé par luatextra
\defaultfontfeatures{Ligatures=TeX} % to have the automatics ligatures of TeX
\setromanfont{Verdana}
\usepackage{paracol} %%Pour les colonnes sur plusieurs pages
\usepackage[many]{tcolorbox}
\definecolor{monfuschia}{HTML}{604A7C}% Rule colour
\definecolor{monfuschiainter}{HTML}{806A9C}% Arrow colour
\definecolor{monfuschiaclair}{HTML}{E6E0EC}% Background colour
\makeatletter
\newcommand{\titlebox}[1]{%
\setbox0=\hbox{\large \bfseries #1}%
\setlength{\@tempdima}{\dimexpr\wd0+4pt}%
\begin{tcolorbox}[colframe=monfuschia, colback=monfuschia,boxrule=0pt,arc=10pt,
left=16pt,right=16pt,top=-8pt,bottom=-5pt,boxsep=0pt,width=\@tempdima]
\parbox{\columnwidth}{\color{white}{\begin{center}%
\bfseries \large #1
\end{center}}}%
\end{tcolorbox}
}
\newcommand{\paragbox}[1]{%
\setbox0=\hbox{\Large \bfseries #1}%
\setlength{\@tempdima}{\dimexpr\wd0+24pt}%
\begin{center}%
\begin{tcolorbox}[colframe=monfuschia, colback=monfuschia,boxrule=0pt,arc=8pt,%
left=16pt,right=16pt,top=10pt,bottom=10pt,boxsep=0pt,width=\@tempdima]%
\centering \color{white}{%
\bfseries \large #1}%
\end{tcolorbox}%
\end{center}%
}
\newcommand\arraybslash{\let\\\@arraycr}
\makeatother
\raggedbottom
\tikzstyle{mybox} = [draw=monfuschia, fill=blue!20, very thick,
rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
% Colors for the arrow
\colorlet{arrowbgcolor}{white}
\colorlet{arrowbordercolor}{monfuschiainter}
% Colors for the framed box to the right
\colorlet{boxbgcolor}{monfuschiaclair}
\colorlet{boxbordercolor}{monfuschia}
\newlength{\horinzontalextraboxwidth}
\setlength{\horinzontalextraboxwidth}{0.25\columnwidth}
\newlength{\horinzontalextraboxmargin}
\setlength{\horinzontalextraboxmargin}{6pt}
\newlength{\verticalextraboxmargin}
\setlength{\verticalextraboxmargin}{5pt}
\newtcolorbox{experiencebox}[2][]{
breakable,
enhanced,
boxrule=0pt,
arc=0pt,
frame code={},
colback=white,
colframe=white,
overlay unbroken={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt,yshift=6pt]frame.south west) --
([xshift=10pt,yshift=1pt]frame.south west) --
([yshift=6pt]frame.south west) -- cycle;
\node[
draw=boxbordercolor,
text width=\horinzontalextraboxwidth,
anchor=west,
line width=1pt,
rounded corners=10pt, very thick, inner sep=\horinzontalextraboxmargin, inner ysep=\verticalextraboxmargin,
fill=boxbgcolor,
] at ([xshift=.02\columnwidth]frame.east) {\scriptsize #2};
},
overlay first={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt]frame.south west) --
(frame.south west) -- cycle;
\node[
draw=boxbordercolor,
text width=\horinzontalextraboxwidth,
anchor=west,
line width=1pt,
rounded corners=10pt, very thick, inner sep=\horinzontalextraboxmargin, inner ysep=\verticalextraboxmargin,
fill=boxbgcolor,
] at ([xshift=.02\columnwidth]frame.east) {\scriptsize #2};
},
overlay middle={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt]frame.south west) --
(frame.south west) -- cycle;
\node[
draw=boxbordercolor,
text width=\horinzontalextraboxwidth,
anchor=west,
line width=1pt,
rounded corners=10pt, very thick, inner sep=\horinzontalextraboxmargin, inner ysep=\verticalextraboxmargin,
fill=boxbgcolor,
] at ([xshift=.02\columnwidth]frame.east) {\scriptsize #2};
},
overlay last={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt,yshift=10pt]frame.south west) --
([xshift=10pt,yshift=5pt]frame.south west) --
([yshift=10pt]frame.south west) -- cycle;
\node[
draw=boxbordercolor,
text width=\horinzontalextraboxwidth,
anchor=west,
line width=1pt,
rounded corners=10pt, very thick, inner sep=\horinzontalextraboxmargin, inner ysep=\verticalextraboxmargin,
fill=boxbgcolor,
] at ([xshift=.02\columnwidth]frame.east) {\scriptsize #2};
},
extrude left by=1em,
enlarge left by=2em,
top=0pt,bottom=0pt,
width=0.67\columnwidth+1.5em,
enlarge top by=-5mm,
%enlarge bottom by=-6mm,
}
\newtcolorbox{experienceboxwoskills}[1][]{
breakable,
enhanced,
boxrule=0pt,
arc=0pt,
frame code={},
colback=white,
colframe=white,
overlay unbroken={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt,yshift=6pt]frame.south west) --
([xshift=10pt,yshift=1pt]frame.south west) --
([yshift=6pt]frame.south west) -- cycle;
},
overlay first={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt]frame.south west) --
(frame.south west) -- cycle;
},
overlay middle={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt]frame.south west) --
(frame.south west) -- cycle;
},
overlay last={
\draw[arrowbordercolor,fill=arrowbgcolor,#1]
([xshift=0pt]frame.north west) --
([xshift=20pt]frame.north west) --
([xshift=20pt,yshift=10pt]frame.south west) --
([xshift=10pt,yshift=5pt]frame.south west) --
([yshift=10pt]frame.south west) -- cycle;
},
extrude left by=1em,
enlarge left by=2em,
top=0pt,bottom=0pt,
width=0.9\columnwidth+1.5em,
}
\usepackage{enumitem}
% Paragraph styles
\renewcommand\familydefault{\rmdefault}
% List styles
\newcommand\writerlistleftskip{}
\newcommand\writerlistparindent{}
\newcommand\writerlistlabel{}
\newcommand\writerlistremovelabel{\aftergroup\let\aftergroup\writerlistparindent\aftergroup\relax\aftergroup\let\aftergroup\writerlistlabel\aftergroup\relax}
% Footnote rule
\setlength{\skip\footins}{0.119cm}
\renewcommand\footnoterule{\vspace*{-0.018cm}\setlength\leftskip{0pt}\setlength\rightskip{0pt plus 1fil}\noindent\textcolor{black}{\rule{0.25\columnwidth}{0.018cm}}\vspace*{0.101cm}}
% Pages styles
\fancypagestyle{Standard}{\fancyhf{}
\fancyhead[L]{}
\fancyfoot[L]{}
\renewcommand\headrulewidth{0pt}
\renewcommand\footrulewidth{0pt}
\renewcommand\thepage{\arabic{page}}
}
\pagestyle{Standard}
\setlength\tabcolsep{1mm}
\renewcommand\arraystretch{1.3}
\sloppy
\title{Curriculum Vitae}
\setlist[itemize]{leftmargin=0em, %Pour gérer la marge depuis laquelle est écrit le texte
itemindent=1.2em,% L'indentation de la première ligne de l'item par rapport aux lignes suivantes
topsep=0pt, %
parsep=-1pt, itemsep=0pt,listparindent=-4em}
\setlist[itemize,2]{leftmargin=1.4em,%Pour gérer la marge depuis laquelle est écrit le texte
itemindent=0em, % L'indentation de la première ligne de l'item par rapport aux lignes suivantes
listparindent=0em,%
labelsep=-0.3em, %La distance entre la puce et la marge (c'est à dire l'écart entre la puce et le début du texte)
align=left,%L'alignement. Peut être aussi parleft pour s'aligner avec le paragraphe de niveau immédiatement supérieur
topsep=0pt, partopsep=0pt, itemsep=0pt, parsep=0pt %parsep donne le séparateur entre les paragraphes
}
\begin{document}
\begin{flushleft}
\tablefirsthead{}
\tablehead{}
\tabletail{}
\tablelasttail{}
\begin{supertabular}{m{6.801cm}m{12.052cm}}
{\fontsize{14pt}{16.8pt}\selectfont\bfseries firstname Name}
{\fontsize{11pt}{13.2pt}\selectfont Age - Nationality}
{\footnotesize address 1}
{\footnotesize address 2}
{\footnotesize [email protected]}
{\footnotesize phone number} &
{\centering
\titlebox{Title 1
Title 2}
}
{\centering\fontsize{11pt}{13.2pt}\selectfont general comment\par}
\centering\arraybslash{\fontsize{11pt}{13.2pt}\selectfont When I am free}\\
\end{supertabular}
\end{flushleft}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% First Column
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\columnratio{0.285}
\begin{paracol}{2}
\begin{leftcolumn}
\paragbox{Know-How}
{\footnotesize\bfseries know-how category}
\begin{itemize}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\end{itemize}
{\footnotesize\bfseries know-how category }
\begin{itemize}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\end{itemize}
{\footnotesize\bfseries know-how}
{\footnotesize\bfseries know-how category}
\begin{itemize}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\end{itemize}
\vspace{-5mm}
\paragbox{Skills}
\vspace{-5mm}
{\footnotesize\bfseries Languages}
\begin{itemize}
\item {\footnotesize JAVA}
\item {\footnotesize UML}
\item {\footnotesize JavaScript}
\item {\footnotesize HTML5}
\item {\footnotesize PHP}
\item {\footnotesize C}
\item {\footnotesize SQL}
\item {\footnotesize Shell Unix}
\item {\footnotesize AWK}
\item {\footnotesize PERL}
\item {\footnotesize Makefile}
\item {\footnotesize ANT}
\item {\footnotesize XML}
\item {\footnotesize Python}
\item {\footnotesize PCL (MSC.Patran)}
\item {\footnotesize FORTRAN}
\item {\footnotesize Ada}
\end{itemize}
{\footnotesize\bfseries Frameworks}
\begin{itemize}
\item {\footnotesize Node.js}
\item {\footnotesize Ember.js}
\item {\footnotesize JQuery}
\end{itemize}
\paragbox{Skills}
\color{black}
{\footnotesize\bfseries know-how}
\begin{itemize}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\end{itemize}
{\footnotesize\bfseries know-how category}
\begin{itemize}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\end{itemize}
{\footnotesize\bfseries know-how category}
\begin{itemize}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\end{itemize}
{\footnotesize\bfseries other tools}
\begin{itemize}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\item {\footnotesize know-how}
\end{itemize}
{\centering\fontsize{14pt}{16.8pt}\selectfont\bfseries\color[rgb]{0.8,0.8,0.8}
\par}
\paragbox{Foreign Languages}
{\footnotesize\bfseries English}
\begin{itemize}
\item {\footnotesize good level}
\end{itemize}
{\footnotesize\bfseries Spanish}
\begin{itemize}
\item {\footnotesize level}
\end{itemize}
{\centering\fontsize{14pt}{16.8pt}\selectfont\bfseries\color[rgb]{0.8,0.8,0.8}
\par}
\end{leftcolumn}
\begin{rightcolumn}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\vspace{-1em}
\paragbox{Professional Experience}
{\color{gray} June 2012 until now}
{\bfseries Job Title}
\begin{experiencebox}{skill 1\\ skill 2\\ skill 3\\}%
{\scriptsize Job description}
\begin{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\end{itemize}
\end{experiencebox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Company separator
{\color{gray} from date to date}
{\bfseries Job Title}
\begin{experiencebox}{skill 1\\ skill 2\\ skill 3\\}%
{\scriptsize Job description}
\begin{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}\item {\footnotesize Item}
\end{itemize}
\end{experiencebox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Company separator
{\color{gray} from date to date}
{\bfseries Job Title}
\begin{experienceboxwoskills}
{\scriptsize\mdseries what I did in this small one}
\begin{itemize}
\item {\footnotesize just one thing}
\end{itemize}
\end{experienceboxwoskills}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Company separator
{\color{gray} the big job from 2000 to 2008}
{\bfseries Main title and company name}
\begin{experienceboxwoskills}
{\scriptsize\mdseries Company description}
%%%%%%%% Function separator
{\color{gray} From date to date}
{\bfseries Job Title}
{\scriptsize Job description}
\begin{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\end{itemize}
%%%%%%%% Function separator
{\color{gray} From date to date}
{\bfseries Job Title}
{\scriptsize Job description}
\begin{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\item {\footnotesize Item}
\item {\footnotesize Item}
\item {\footnotesize Item}
\item {\footnotesize Item}
\item {\footnotesize Item}
\item {\footnotesize Item}
\item {\footnotesize Item}
\end{itemize}
%%%%%%%% Function separator
{\color{gray} From date to date}
{\bfseries Job Title}
{\scriptsize Job description}
\begin{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item with more text that makes it larger and may interfer with extra box}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\end{itemize}
%%%%%%%% Function separator
{\color{gray} From date to date}
{\bfseries Job Title}
{\scriptsize Job description}
\begin{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\end{itemize}
%%%%%%%% Function separator
{\color{gray} From date to date}
{\bfseries Job Title}
{\scriptsize Job description}
\begin{itemize}
\item {\footnotesize Item}
\begin{itemize}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\item {\footnotesize Sub item}
\end{itemize}
\item {\footnotesize Item}
\end{itemize}
\end{experienceboxwoskills}
\end{rightcolumn}
\end{paracol}
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% THE END
And here is a screen example of what the second page should be:
In this example, there are two extra boxes on the right hand side of the page. In my real resume, there are some more. I would like to position the extra boxes vertically as shown in the image below:
yposition's origin may vary (it could be the baseline of "from date to date" or "job description")
I also would like to be able to manage with variables (or any other way):
- box round radius
- box line width
- colors (this is already done in my example)
- arrow width
- arrow colors
- arrow thickness
I would like to keep what was done with the "experiencebox" tcolorbox if possible.
I would like to avoid page break between job title and job description, but this last constraint is not really important here (I know how to manage with this).
I am aware that I am very demanding with this. I am currently working on how to do this so all advices, ideas, leads are welcome.
So the questions are: how to draw the "timeline arrow" on the left of the column (over several pages) with several "extra boxes" on the right ? Is it possible to do this using environments or commands ?
\tikzmark
for this exploiting same concepts shown in Mark a pseudocode block and insert comments near it.