![无法在 beamer 中同时使用 tikz 和 lstlisting](https://linux22.com/image/478200/%E6%97%A0%E6%B3%95%E5%9C%A8%20beamer%20%E4%B8%AD%E5%90%8C%E6%97%B6%E4%BD%BF%E7%94%A8%20tikz%20%E5%92%8C%20lstlisting.png)
我正在尝试使用 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 的清单开始后文本被丢弃。
并且您还可能会收到其他类似的奇怪且误导性的消息。