2

I'm currently trying to achieve the following inside a tcolorbox: Boxes with arrows between them

I'm running into trouble with the way I'm currently doing it, but I don't think the way I'm doing it is right in the first place.

I created a tcolorbox (so, the environment) and then created three tcboxes with arrows in-between them. In my attempts, tcboxes are not permitting line breaks, which is necessary for what I am trying to do.

Additionally, the boxes and arrows are not even in a line together.

Since I don't think it is possible to create line breaks, how do I go about achieving the picture above?

My attempt:

\begin{tcolorbox}[colback=red!5!white,
colframe=red!75!black,fonttitle=\bfseries,
title=Big Box]

    \tcbox[colback=red!5!white,
    colframe=red!75!black,fonttitle=\bfseries,
    title=Smaller box]{Some words \\ followed by more}$\rightarrow$

    \tcbox[colback=red!5!white,
    colframe=red!75!black,fonttitle=\bfseries,
    title=Smaller box]{Some words \\ followed by more}$\rightarrow$

    \tcbox[colback=red!5!white,
    colframe=red!75!black,fonttitle=\bfseries,
    title=Smaller box]{Some words \\ followed by more}
\end{tcolorbox}

My code does not actually have the enters, I've added them so it is easier to read.

Thank you in advance!

1
  • 1
    If you want to stay with your tcolourbox approach, I would use normal tcolorboxes and place them in a tcbraster. If you are flexible in the approach: simply use tikz Commented Jan 8, 2019 at 16:39

2 Answers 2

3

From your original code it seems that you wanted something like:

enter image description here

It was done with a tcboxeditemize. The arrows between boxes are drawn with an overlay option which is supressed on last column box.

\documentclass{article}
\usepackage[most]{tcolorbox}
\usetikzlibrary{shapes.arrows}

\tikzset{
    myjoin/.style={single arrow, shape border uses incircle, fill=red!75!black, minimum height=8mm}}

\begin{document}
\begin{tcboxeditemize}[%
% raster and inner boxes definitions
raster columns=3, raster equal height, raster column skip=1cm, colback=red!5, colframe=red!75, fonttitle=\bfseries, title={Small Box},
enhanced, overlay={\node[myjoin] at ([xshift=4mm]frame.east) {};}]{%
% external box definitions
colback=red!5, colframe=red!75, fonttitle=\bfseries, 
title={Big Box}}
\tcbitem Some words\\ followed by more
\tcbitem Some words\\ followed by more
\tcbitem[no overlay] Some words\\ followed by more
\end{tcboxeditemize}
\end{document}
2
  • Thank you, it works. However, I am getting the error "Package pgfkeys Error: I do not know the key '/tikz/myjoin' and I am going to ignore it. Perhaps you misspelled it."
    – zylitoL
    Commented Jan 8, 2019 at 21:09
  • @zylitoL Did you included tikzset line in your code?
    – Ignasi
    Commented Jan 8, 2019 at 21:35
3

A quick alternative might be to use a smartdiagram

\documentclass{article}

\usepackage{tcolorbox}
\usepackage{smartdiagram}


\begin{document}

\begin{tcolorbox}[colback=red!5!white,
colframe=red!75!black,fonttitle=\bfseries,
title=Big Box]

\smartdiagramset{
  uniform color list=cyan!50!blue for 3 items,
  back arrow disabled=true,
  module x sep=3.83cm,
  text width=3cm,
    border color=none,
 }
 \smartdiagram[flow diagram:horizontal]{Some words More words, Even more words And then some more,Lorem Lipsum et}


\end{tcolorbox}

\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .