
다음 코드는 메시지와 함께 빌드되지 않습니다.
! Argument of \language@active@arg" has an extra }.
\documentclass[dvipsnames,unknownkeysallowed,12pt]{beamer}
\usepackage[brazil]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{tikz}
\usetikzlibrary{arrows,babel,calc,angles,quotes}
\usepackage{tikzsymbols}
\begin{document}
\section{Figura}
\begin{frame}
TiKz \pgfversion
\begin{tikzpicture}
\draw [thick]
(3,-1) coordinate (a) node[right] {a} -- (0,0) coordinate (b) node[left] {b}
-- (2,2) coordinate (c) node[above right] {c} pic["$\alpha$", thick,draw=orange, <->, angle eccentricity=1.2, angle radius=1cm] {angle=a--b--c};
\end{tikzpicture}
\end{frame}
\end{document}
그러나 brazil babel 라인이 주석 처리되거나 tikzpicture가 프레임에서 만들어진 경우에는 작동합니다. \pgfversion
3.0.0을 보여줍니다.
답변1
babel
TikZ 라이브러리 에서 제공하는 메커니즘 "
은 tikzpicture
. 본질적으로 \shorthandoff{"}
뒤에 추가하는 것과 같습니다 \begin{tikzpicture}
.
불행하게도 이것은 Beamer에서는 작동하지 않습니다 frame
. 왜냐하면 프레임의 내용이 처리되기 전에 흡수되어 캐릭터 토큰이 \shorthandoff{"}
더 이상 어떤 명령으로도 변경할 수 없는 카테고리 코드를 얻게 되기 때문입니다.
해결 방법(약간 추악한 것으로 알고 있음): use 를 사용하면 \begin{frame}[fragile]
Beamer가 나중에 다시 읽을 수 있도록 프레임의 내용을 기록하게 됩니다.
주의하세요 \end{frame}
. 이 경우에는~ 해야 하다가장 왼쪽 열에서 선행 공백 없이 시작합니다.