15

I'm using semiverbatim with tikz in beamer. My following MWE throws error:

! Package tikz Error: Sorry, some package has redefined the meaning of the math-mode dollar sign. This is incompatible with tikz and its calc library and might cause unrecoverable errors.

Any idea to resolve this issue. Thanks in advance.

\documentclass{beamer}

\usepackage{csed}

\usepackage{tikz}
\usetikzlibrary{shapes}

\newif\ifshowanimation
% The slides with animations take a long time to process.
% They are omitted in handout mode.
\showanimationfalse

\newenvironment<>{exercise}{\begin{block}#1{Exercise}}{\end{block}}

\newenvironment<>{notes}{\begin{alertblock}#1{Notes}}{\end{alertblock}}

\newcommand*{\menu}[1]{\textbf{#1}}
\newcommand*{\menuitem}[1]{\,$\to$\,\textbf{#1}}

\definecolor{highlight1}{named}{yellow}
\definecolor{highlight2}{named}{pink}
\definecolor{highlight3}{named}{green}
\definecolor{highlight4}{named}{orange}
\definecolor{Red}{named}{red}
\definecolor{Blue}{named}{blue}

\pgfdeclareimage[width=0.95\textwidth]{backdrop}{images/background.jpg}
\pgfdeclareimage[width=1mm]{pointer}{images/pointer.png}
\pgfdeclareimage[width=0.18\textwidth]{startmenu}{images/startMenu.jpg}
\pgfdeclareimage[width=0.34\textwidth]{programsmenu}{images/programsMenu.jpg}
\pgfdeclareimage[width=0.495\textwidth]{submenu}{images/subMenu.jpg}
\pgfdeclareimage[width=0.608\textwidth]{latexmenu}{images/latexMenu.jpg}
\pgfdeclareimage[width=0.591\textwidth]{latexmenu2}{images/latexMenu2.png}
\pgfdeclareimage[width=0.591\textwidth]{cmd1}{images/cmd1.jpg}
\pgfdeclareimage[width=0.591\textwidth]{cmd2}{images/cmd2.jpg}
\foreach \x in {1,...,46}
{
  \pgfdeclareimage[width=0.84\textwidth]{tmkwin\x}{images/tmkwin-\x.jpg}
}
\pgfdeclareimage[width=0.75\textwidth]{saveAs1}{images/tex-28.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs2}{images/tex-30.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs3}{images/tex-32.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs4}{images/tex-35.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs5}{images/tex-36.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs6}{images/tex-37.jpg}


\begin{document}

\begin{frame}[fragile]
  \frametitle{A Simple Document}

\begin{example}
    \begin{semiverbatim}
        \textcolor<2>{Red}{\cs{documentclass}\annote<5-7>[offset=0.5in,voffset=1cm,pos=br,bg=highlight2]{[a4paper,12pt]}{Class options}\annote<4-7>[pos=br,bg=highlight1]{\marg{article}}{The class name.}}
        \vspace{-2\baselineskip}\alt<7>{\colorbox{highlight4}{\rmfamily Preamble}}{\strut}
        \textcolor<2>{Red}{\cs{begin}\marg{document}}
        \textcolor<3>{Blue}{\% This is a comment}
        \annote<6-7>[pos=cr,bg=highlight3,offset=0.4in]{\begin{tabular}{@{}l}
        This is   a simple\\
        document\cs{footnote}\marg{with a footnote}.\\
        \\
        This is a new paragraph.
        \end{tabular}}{The document.}
        \textcolor<2>{Red}{\cs{end}\marg{document}}
    \end{semiverbatim}
\end{example}

\end{frame}


\end{document}

Edited


csed can be obtained from here.

MYaseen208
  • 8,587

1 Answers1

25

This was too long for a comment.

The error message is triggered by \tikz@ensure@dollar@catcode defined in the file tikz.code.tex typically found on .../tex/generic/pgf/frontendlayer/tikz/tikz.code.tex); one work-around is to disable the error message using

\makeatletter
\global\let\tikz@ensure@dollar@catcode=\relax
\makeatother

This might produce undesired results elsewhere in the document, but at least with your example code, it gives the desired result:

\documentclass{beamer}

\usepackage{tikz}
\usetikzlibrary{shapes}
\usepackage{csed}

\makeatletter
\global\let\tikz@ensure@dollar@catcode=\relax
\makeatother

\newif\ifshowanimation
% The slides with animations take a long time to process.
% They are omitted in handout mode.
%\showanimationfalse

\newenvironment<>{exercise}{\begin{block}#1{Exercise}}{\end{block}}

\newenvironment<>{notes}{\begin{alertblock}#1{Notes}}{\end{alertblock}}

\newcommand*{\menu}[1]{\textbf{#1}}
\newcommand*{\menuitem}[1]{\,$\to$\,\textbf{#1}}

\definecolor{highlight1}{named}{yellow}
\definecolor{highlight2}{named}{pink}
\definecolor{highlight3}{named}{green}
\definecolor{highlight4}{named}{orange}
\definecolor{Red}{named}{red}
\definecolor{Blue}{named}{blue}

\pgfdeclareimage[width=0.95\textwidth]{backdrop}{images/background.jpg}
\pgfdeclareimage[width=1mm]{pointer}{images/pointer.png}
\pgfdeclareimage[width=0.18\textwidth]{startmenu}{images/startMenu.jpg}
\pgfdeclareimage[width=0.34\textwidth]{programsmenu}{images/programsMenu.jpg}
\pgfdeclareimage[width=0.495\textwidth]{submenu}{images/subMenu.jpg}
\pgfdeclareimage[width=0.608\textwidth]{latexmenu}{images/latexMenu.jpg}
\pgfdeclareimage[width=0.591\textwidth]{latexmenu2}{images/latexMenu2.png}
\pgfdeclareimage[width=0.591\textwidth]{cmd1}{images/cmd1.jpg}
\pgfdeclareimage[width=0.591\textwidth]{cmd2}{images/cmd2.jpg}
\foreach \x in {1,...,46}
{
  \pgfdeclareimage[width=0.84\textwidth]{tmkwin\x}{images/tmkwin-\x.jpg}
}
\pgfdeclareimage[width=0.75\textwidth]{saveAs1}{images/tex-28.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs2}{images/tex-30.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs3}{images/tex-32.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs4}{images/tex-35.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs5}{images/tex-36.jpg}
\pgfdeclareimage[width=0.75\textwidth]{saveAs6}{images/tex-37.jpg}


\begin{document}

\begin{frame}
  \frametitle{A Simple Document}

\begin{example}
    \begin{semiverbatim}
        \textcolor<2>{Red}{\cs{documentclass}\annote<5-7>[offset=0.5in,voffset=1cm,pos=br,bg=highlight2]{[a4paper,12pt]}{Class options}\annote<4-7>[pos=br,bg=highlight1]{\marg{article}}{The class name.}}

        \vspace{-2\baselineskip}\alt<7>{\colorbox{highlight4}{\rmfamily Preamble}}{\strut}

        \textcolor<2>{Red}{\cs{begin}\marg{document}}

        \textcolor<3>{Blue}{\% This is a comment}

        \annote<6-7>[pos=cr,bg=highlight3,offset=0.4in]{\begin{tabular}{@{}l}
        This is   a simple\\
        document\cs{footnote}\marg{with a footnote}.\\
        \\
        This is a new paragraph.
        \end{tabular}}{The document.}

        \textcolor<2>{Red}{\cs{end}\marg{document}}
    \end{semiverbatim}
\end{example}

\end{frame}


\end{document}

enter image description here

As I said befor, this has the status of a long comment, not an answer, since it only disables the error message.

Gonzalo Medina
  • 505,128
  • Thanks a lot @Gonzalo. Honestly thanks is very little word. Much much appreciated. You are simply wizard at LaTeX and its companions. – MYaseen208 Mar 16 '14 at 19:52
  • Thanks, for me it started with a large book document after I updated mactex to the 2015 version (WTF). I wonder if there is a real fix possible. – PeterSom Sep 03 '15 at 16:42
  • @PeterSom Sorry, but I don't understand you. Please consider opening a fresh new question. – Gonzalo Medina Sep 03 '15 at 17:03
  • I was referring to the tikz error message regarding the redefinition of the dollar symbol. I got this problem as well in another context, I suspect the lstlisting package to be guilty, but as @GonzaloMedina claims his "solution" is only a workaround, I wonder if there is any means to get a real solution. However, for the moment the workaround works for me, and thus: Thanks a lot! – PeterSom Sep 04 '15 at 08:45
  • 2
    @PeterSom I found the problem to be caused when certain TikZ nodes containing calc library calculations $ fall within the scope of lstlisting from the listings package. – Jonathan Komar Jul 15 '16 at 08:27
  • Thank you very much. You saved me lots of time – EuberDeveloper May 25 '20 at 22:48