简历中的圆角框、箭头和绘图跨越多页

简历中的圆角框、箭头和绘图跨越多页

这个问题与这个,我想扩展答案在这里给出

简而言之,我想做同样的事情,但是在同一个箭头上画几个圆形框。

这是一个非最小工作示例:

%!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

以下是第二页的屏幕示例: 第二页

在此示例中,页面右侧有两个额外的框。在我的真实简历中,还有更多。我想将额外的框垂直放置,如下图所示:

示例 2

yposition 的来源可能有所不同(它可能是“从日期到日期”或“职位描述”的基线)

我还希望能够使用变量(或任何其他方式)进行管理:

  • 盒子圆形半径
  • 框线宽度
  • 颜色(在我的例子中已经完成了)
  • 箭头宽度
  • 箭头颜色
  • 箭头厚度

如果可能的话,我想保留使用“experiencebox”tcolorbox 所做的事情。

我想避免在职位名称和职位描述之间出现分页符,但最后一个限制在这里并不重要(我知道如何解决这个问题)。

我知道我对此要求很高。我目前正在研究如何做到这一点,因此欢迎提供所有建议、想法和线索。

所以问题是:如何在列左侧(跨多个页面)绘制“时间轴箭头”,并在右侧绘制几个“额外框”?是否可以使用环境或命令来执行此操作?

答案1

一种选择:

%!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
%http://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]
\usetikzlibrary{babel}

% 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}

% Settings for the Skills boxes
\newcounter{skbox}

\newcommand\SkillsBox[2][]{%
\stepcounter{skbox}%
\tikz[remember picture,overlay]\coordinate (newskbox-\theskbox);%
\begin{tikzpicture}[remember picture,overlay]
\node[
  draw=boxbordercolor,
  outer sep=0pt,
  text width=\horinzontalextraboxwidth,
  anchor=north west,
  line width=1pt,
  rounded corners=10pt, 
  very thick, 
  inner sep=\horinzontalextraboxmargin, 
  inner ysep=\verticalextraboxmargin,
  fill=boxbgcolor,
  xshift=\dimexpr\hoffset+\textwidth-\oddsidemargin+1.25in\relax,% improve this
  #1
] 
  at (current page.west|-newskbox-\theskbox)
  {#2};  
\end{tikzpicture}%
}
% end of SkillsBox

% The arrow width
\newlength\arrowwidth
\setlength\arrowwidth{20pt}

\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=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth,yshift=6pt]frame.south west) --
      ([xshift=0.5\arrowwidth,yshift=1pt]frame.south west) --
      ([yshift=6pt]frame.south west) -- cycle;
    \node[
      draw=boxbordercolor,
      text width=\horinzontalextraboxwidth,
      anchor=west,
      line width=1pt,
      rounded corners=0.5\arrowwidth, 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=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth]frame.south west) --
      (frame.south west) -- cycle;
    \node[
      draw=boxbordercolor,
      text width=\horinzontalextraboxwidth,
      anchor=west,
      line width=1pt,
      rounded corners=0.5\arrowwidth, 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=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth]frame.south west) --
      (frame.south west) -- cycle;
    \node[
      draw=boxbordercolor,
      text width=\horinzontalextraboxwidth,
      anchor=west,
      line width=1pt,
      rounded corners=0.5\arrowwidth, 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=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth,yshift=0.5\arrowwidth]frame.south west) --
      ([xshift=0.5\arrowwidth,yshift=5pt]frame.south west) --
      ([yshift=0.5\arrowwidth]frame.south west) -- cycle;
    \node[
      draw=boxbordercolor,
      text width=\horinzontalextraboxwidth,
      anchor=west,
      line width=1pt,
      rounded corners=0.5\arrowwidth, 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=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth,yshift=6pt]frame.south west) --
      ([xshift=0.5\arrowwidth,yshift=1pt]frame.south west) --
      ([yshift=6pt]frame.south west) -- cycle;
  },
  overlay first={
    \draw[arrowbordercolor,fill=arrowbgcolor,#1]
      ([xshift=0pt]frame.north west) --
      ([xshift=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth]frame.south west) --
      (frame.south west) -- cycle;
  },
  overlay middle={
    \draw[arrowbordercolor,fill=arrowbgcolor,#1]
      ([xshift=0pt]frame.north west) --
      ([xshift=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth]frame.south west) --
      (frame.south west) -- cycle;
  },
  overlay last={
    \draw[arrowbordercolor,fill=arrowbgcolor,#1]
      ([xshift=0pt]frame.north west) --
      ([xshift=\arrowwidth]frame.north west) --
      ([xshift=\arrowwidth,yshift=0.5\arrowwidth]frame.south west) --
      ([xshift=0.5\arrowwidth,yshift=5pt]frame.south west) --
      ([yshift=0.5\arrowwidth]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}\SkillsBox{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}
        \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}\SkillsBox{skill 1\\skill 2\\ skill 3}
        \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}\SkillsBox{skill 1\\skill 2\\ skill 3}
        \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}\SkillsBox[yshift=2cm]{skill 1\\skill 2\\ skill 3}
    \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}

第 1 页和第 2 页的输出:

在此处输入图片描述

我定义了一个命令\SkillsBox,该命令将其强制参数排版在具有给定规范的框架内,并在框架的右侧带有箭头;使用可选参数,可以提供控制框架的选项(请参阅代码中的示例)。\SkillsBox可以根据需要多次使用。

我还定义了长度\arrowwidth来控制箭头的宽度。

相关内容