4

I used Tikz to draw some specific shapes on a matrix, this the MWE that I am using:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{matrix,decorations.pathreplacing}
\pgfkeys{tikz/mymatrixenv/.style={decoration=brace,every left delimiter/.style={xshift=4pt},every right delimiter/.style={xshift=-4pt}}}
\pgfkeys{tikz/mymatrix/.style={matrix of math nodes,left delimiter=[,right delimiter={]},inner sep=1pt,row sep=0em,column sep=0em,nodes={inner sep=6pt}}}

\begin{document}

\begin{tikzpicture}[baseline=0cm,mymatrixenv]
    \matrix [mymatrix,text width=0.6em,align=center] (m)  
    {
    a & b & c \\ 
    d & e & f \\
    g & h & i \\
    };
    \pgfmathsetmacro{\offset}{0.5mm}
    \draw [thick,blue,rounded corners=1mm] (m-1-1.west) |- (m-3-3.south) -- cycle;
    \draw [thick,red,rounded corners=1mm] (m-1-1.north) -| (m-3-3.east) -- cycle;
    \draw [thick,green,rounded corners=1mm] ([yshift=\offset]m-1-1.west) -- ([xshift=-\offset]m-1-1.north) -- ([yshift=-\offset]m-3-3.east) -- ([xshift=\offset]m-3-3.south) -- cycle;
\end{tikzpicture}


\end{document}

Result:

enter image description here

but when I tried this code in a beamer presentation (theme: Warsaw) I get this: enter image description here

What's wrong and how can I fix it?

  • Please provide a full minimal example of the beamer use (that makes it much faster for others to test and suggest solutions) – daleif Aug 12 '18 at 12:10
  • Tested with \documentclass{beamer} \usetheme{Warsaw} and works fine on share latex... may be you need a second run if didn't tried – koleygr Aug 12 '18 at 12:40
  • I think it would be appropriate if you mentioned that you got that nice code from here. –  Aug 12 '18 at 15:51

1 Answers1

10

You need to use a fragile frame:

\documentclass{beamer}

\usepackage{tikz}
\usetikzlibrary{matrix,decorations.pathreplacing}
\pgfkeys{tikz/mymatrixenv/.style={decoration=brace,every left delimiter/.style={xshift=4pt},every right delimiter/.style={xshift=-4pt}}}
\pgfkeys{tikz/mymatrix/.style={matrix of math nodes,left delimiter=[,right delimiter={]},inner sep=1pt,row sep=0em,column sep=0em,nodes={inner sep=6pt}}}

\begin{document}
\begin{frame}[fragile]

\begin{tikzpicture}[baseline=0cm,mymatrixenv]
    \matrix [mymatrix,text width=0.6em,align=center] (m)  
    {
    a & b & c \\ 
    d & e & f \\
    g & h & i \\
    };
    \pgfmathsetmacro{\offset}{0.5mm}
    \draw [thick,blue,rounded corners=1mm] (m-1-1.west) |- (m-3-3.south) -- cycle;
    \draw [thick,red,rounded corners=1mm] (m-1-1.north) -| (m-3-3.east) -- cycle;
    \draw [thick,green,rounded corners=1mm] ([yshift=\offset]m-1-1.west) -- ([xshift=-\offset]m-1-1.north) -- ([yshift=-\offset]m-3-3.east) -- ([xshift=\offset]m-3-3.south) -- cycle;
\end{tikzpicture}
\end{frame}

\end{document}

enter image description here