Tikzpicture вводит дополнительные интервалы?

Tikzpicture вводит дополнительные интервалы?

Если я уберу tikzpictureв следующем MWE, то blockпереместится вверх.

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
    \begin{frame}[t]{Title}
        \begin{tikzpicture}[overlay]
            \draw (5pt,5pt) circle (10pt);
        \end{tikzpicture}
        \begin{block}{Theorem}
            text
        \end{block}
    \end{frame}
\end{document}

Как это возможно?

Оставляет ли это tikzpictureнемного места?

Если я использую a resizeboxвокруг , то tikzpictureполучу деление на ноль, поэтому он имеет нулевой размер, но все равно перемещает block. Как это возможно?

В этом конкретном случае я могу просто переместить его tikzpictureниже block, но как вообще удалить лишнее пространство?

решение1

Это не tikzpictureнапрямую, это выход из вертикального режима, который сдвигает block. Это включает в себя tikzpicture, или даже \mbox{}.

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
    \begin{frame}[t]{Title}
%        \begin{tikzpicture}[overlay]
%            \draw (5pt,5pt) circle (10pt);
%        \end{tikzpicture}%
        \leavevmode%
        \begin{block}{Theorem}
            text
        \end{block}
    \end{frame}
\end{document}

введите описание изображения здесь

Для сравнения, вот так, не выходя из вертикального режима:

введите описание изображения здесь

Одним из решений для поддержания blockвертикального режима является размещение его в \vbox:

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
    \begin{frame}[t]{Title}
        \begin{tikzpicture}[overlay]
            \draw (5pt,5pt) circle (10pt);
        \end{tikzpicture}%
        \vbox{\begin{block}{Theorem}
            text
        \end{block}}
    \end{frame}
\end{document}

введите описание изображения здесь

Возможно, лучше поместить это tikzpictureв качестве первого элемента внутри block:

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
    \begin{frame}[t]{Title}
        \begin{block}{Theorem}
          \begin{tikzpicture}[overlay]
              \draw (5pt,5pt) circle (10pt);
          \end{tikzpicture}%
            text
        \end{block}%
    \end{frame}
\end{document}

введите описание изображения здесь

Связанный контент