是否可以将 beamer 块放入 tikz 节点中?

是否可以将 beamer 块放入 tikz 节点中?

我想使用 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}
    

    (与上面输出相同)

相关内容