如何使 tikzpicture 在 beamer 中全屏显示,同时保持宽高比

如何使 tikzpicture 在 beamer 中全屏显示,同时保持宽高比

我有一个 tikzpicture,它的宽高比不可预测(实际上,由于裁剪,宽高比在叠加层之间会有所不同)。我希望 tikzpicture 在 beamer 中始终按比例放大到最大可能尺寸,但不改变宽高比。

这是一个 nMWE:

\documentclass{beamer}
\usepackage{tikz}
  \begin{document}
  \usetikzlibrary{decorations.text, positioning}

\begin{frame}{\only<1>{AA}
    \only<2>{BB}
  }
  \resizebox{.85\paperwidth}{!}{
    \begin{tikzpicture}
      \clip<1> (0.0, 0.0) rectangle (10.0, 2);
      \clip<2> (2, 2) rectangle (6, 12);

      \draw [help lines] (0,0) grid (25,13);
\end{tikzpicture}
}
\end{frame}
\end{document}

在下面的输出中,两张图片都不应被截断。也就是说,我想要一种不同于这种\resizebox方法的方法,既能处理高图片,又能处理宽图片。

在此处输入图片描述

答案1

adjustbox适用max totalsize于此类情况。

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{decorations.text, positioning,calc}
\usepackage{adjustbox}
 \begin{document}

\begin{frame}[t]
\frametitle<1>{AA}%
\frametitle<2>{BB}%
\adjustbox{max totalsize={0.85\paperwidth}{0.85\textheight}}{
    \begin{tikzpicture}
      \clip<1> (0.0, 0.0) rectangle (10.0, 2);
      \clip<2> (2, 2) rectangle (6, 12);

      \draw [help lines] (0,0) grid (25,13);
\end{tikzpicture}
}
\end{frame}
\end{document}

在此处输入图片描述

相关内容