[Tex/LaTex] How to draw vertical arrows at the left and right to the list in beamer slide

beamer

I have a simplie slide with a list of items.
I would like to draw an increasing (vertical) arrow with some text inside (or below) at the left of my list, and a decreasing at the right of my list, like on the example attached.
My frame is defined as:

\begin{frame}\frametitle{Is there a simple solution to draw arrows?}

\begin{itemize}[<+-| alert@+>]

 \item Politics

 \item Empirical

 \item Simplified mechanistic 

 \item Full dynamics

\end{itemize}

Many thanks for your help!
example made with...ppt...

Best Answer

Like this?

enter image description here

MWE:

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{calc, positioning, shapes.arrows}

    \begin{document}

\begin{frame}
\frametitle{Is there a simple solution to draw arrows?}
    \centering
\begin{tikzpicture}[node distance=0pt,
SA/.style = {single arrow, draw=blue!40!gray, very thick, fill=blue!20!gray!10,
             minimum height=1.6*\n1,
            }       
                    ]
\node (n)   [text width=0.8\textwidth]
{
    \begin{itemize}[<+-| alert@+>]
\item Politics
\item Empirical
\item Simplified mechanistic
\item Full dynamics
    \end{itemize}
};
\path   let \p1 = ($(n.north)-(n.south)$),
            \n1 = {veclen(\y1,\x1)} in
        node[SA, rotate=90,  xshift=\n1/2,
             above=of n.south west] {Easy to apply}
        node[SA, rotate=-90,  xshift=-\n1/2,
             above=of n.south east] {Transparency};
\end{tikzpicture}

\end{frame}
    \end{document}

As you can see, itemize is put in tikz node, for arrows are used single arrow shape.

Addendum: arrows are accommodate to itemize height (actually 1.6 times of it). This I selected due to two reasons:

  • text in arrows is longer than itemize height,
  • from provided picture I (now seems wrongly) conclude, that this is desired

In MWE below I reduce arrows height to approximately height of text in itemize and change font size (to \large in itemize environment and to \small in arrows. Also to be both arrows equal tall I replace minimum width with text width. Result of those changes are:

enter image description here

and corrected code is:

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{calc, positioning, shapes.arrows}

    \begin{document}

\begin{frame}
\frametitle{Is there a simple solution to draw arrows?}

    \centering
\begin{tikzpicture}[node distance=0pt,
SA/.style = {single arrow, draw=blue!40!gray, very thick, fill=blue!20!gray!10,
            inner xsep=0pt, text width=\n1-4ex, align=center,% 4ex compensate vertical space above and below itemize
            font=\small
            }       
                    ]

\node (n)   [text width=0.8\textwidth, font=\large]
{
    \begin{itemize}[<+-| alert@+>]
\item Politics
\item Empirical
\item Simplified mechanistic
\item Full dynamics
    \end{itemize}
};
\path   let \p1 = ($(n.north)-(n.south)$),
            \n1 = {veclen(\y1,\x1)} in
        node[SA, rotate=90,  xshift=0.45*\n1,
             above=of n.south west] {Easy to apply}
        node[SA, rotate=-90,  xshift=-0.55*\n1,
             above=of n.south east] {Transparency};
\end{tikzpicture}

\end{frame}
    \end{document}