我收到此错误消息
! Missing \endcsname inserted.
<to be read again>
\theta
l.18 \end{frame}
编译我的 .tex 文件时:
\documentclass{beamer}
\usepackage[english,russian]{babel}
\usepackage{tikz}
\usetikzlibrary{angles,calc,quotes}
\begin{document}
\begin{frame}{Title}
\begin{tikzpicture}
\coordinate (A) at (2,0);
\coordinate (B) at (0,0);
\coordinate (C) at (1,2);
\draw (A) -- (B) -- (C);
\pic["$\theta_1$"{above=3, right=2}, draw=black, double, angle radius=8pt] {angle = A--B--C};
\end{tikzpicture}
\end{frame}
\end{document}
如果我在加载 babel 时关闭所有简写,即,\usepackage[english,russian,shorthands=off]{babel}
,错误就会消失。然而,这不是一个解决方案,因为它禁用了整个文档中的简写。
所以,我想,我的问题可以归结为以下几点:如何仅在 tikzpicture 环境内禁用简写?
我尝试过这请按下列方式回答:
\usepackage{etoolbox}
\AtBeginEnvironment{tikzpicture}{
\shorthandoff{"}
}
但它也会失败。
答案1
您可以使用babel
tikz 库并将其与fragile
框架结合起来:
\documentclass{beamer}
\usepackage[english,russian]{babel}
\usepackage{tikz}
\usetikzlibrary{angles,calc,quotes,babel}
\begin{document}
\begin{frame}[fragile]{Title}
\begin{tikzpicture}
\coordinate (A) at (2,0);
\coordinate (B) at (0,0);
\coordinate (C) at (1,2);
\draw (A) -- (B) -- (C);
\pic["$\theta_1$"{above=3, right=2}, draw=black, double, angle radius=8pt] {angle = A--B--C};
\end{tikzpicture}
\end{frame}
\end{document}