无法在 beamer 中同时使用 tikz 和 lstlisting

无法在 beamer 中同时使用 tikz 和 lstlisting

我正在尝试使用 beamer 创建演示文稿。我需要使用 tikz 绘制一些东西并提供一些代码清单。但是,我得到了错误

! 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 migh
t cause unrecoverable errors.

我浏览了一些有同样问题的问题,但我仍然不明白如何解决我的问题。

这是我的代码

\documentclass[aspectratio=169]{beamer}

\usepackage{CJKutf8}
\usepackage{listings}
\usepackage{tikz}

\begin{document}
\begin{CJK}{UTF8}{gbsn}

\begin{frame}
 \frametitle{title}
 \begin{columns}[T]
  \begin{column}[T]{5cm}
   \begin {tikzpicture}
    \filldraw (0, 0) circle (2pt) node[below] {1};
   \end{tikzpicture}
  \end{column}
  \begin{column}[T]{5cm}
   \begin{lstlisting}
   code
   \end{lstlisting}
  \end{column}
 \end{columns}
\end{frame}

\newpage
\end{CJK}
\end{document}

我在 Fedora 机器上从 texlive 运行 pdflatex 命令。如能得到任何帮助我将不胜感激。

答案1

使用 Beamer 列表时,您需要如果框架包含列表,则[fragile]在后面添加选项。否则,beamer 无法正确处理列表,这在某种程度上类似于 verbatim。\begin{frame}

来自 beamer 文档

[框架的] ⟨环境内容⟩ 可以是普通的 LaTeX 文本,但不能包含 \verb 命令或 verbatim 环境或任何更改字符代码的环境,除非给出了 crisp 选项。

这包括列表环境。
请注意,这种情况下的错误消息永远不会非常明确。例如,如果您隐藏 tikz 图片,则会收到以下消息

软件包清单警告:在输入行 27 的清单开始后文本被丢弃。

并且您还可能会收到其他类似的奇怪且误导性的消息。

相关内容