我想使用 tikz 在框架中定位 beamer 块。这是我的尝试,但它无法编译:
\documentclass[beamer]{beamerswitch}
\usetheme{metropolis}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{frame}\frametitle{My title}
\thispagestyle{empty}
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north] at ($(current page.north)+(0,-0.1\textheight)$) {
\begin{block}{Test block}
\end{block}
};
\end{tikzpicture}
\end{frame}
\end{document}
这是控制台错误:
! Missing \endgroup inserted.
<inserted text>
\endgroup
l.16 \end{frame}
?
答案1
它就像一个多线节点。你有一些选项可以解决它,这里我提出了两个。
确定节点的宽度,从而确定的宽度
block
,即text width
:\documentclass[beamer]{beamerswitch} \usetheme{metropolis} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{tikzmark} \usepackage{lipsum} \begin{document} \begin{frame}\frametitle{My title} \thispagestyle{empty} \begin{tikzpicture}[remember picture,overlay] \node[anchor=north,text width=.8\textwidth] at ($(current page.north)+(0,-0.1\textheight)$) { \begin{block}{This is a block} \lipsum[2] \end{block} }; \end{tikzpicture} \end{frame} \end{document}
使用
minipage
\documentclass[beamer]{beamerswitch} \usetheme{metropolis} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{tikzmark} \usepackage{lipsum} \begin{document} \begin{frame}\frametitle{My title} \thispagestyle{empty} \begin{tikzpicture}[remember picture,overlay] \node[anchor=north] at ($(current page.north)+(0,-0.1\textheight)$) { \begin{minipage}{.8\textwidth} \begin{block}{This is a block} \lipsum[2] \end{block} \end{minipage} }; \end{tikzpicture} \end{frame} \end{document}
(与上面输出相同)