如何禁用 Tikzpictures 的自动调整功能?

如何禁用 Tikzpictures 的自动调整功能?

我编写了一个脚本,可以将乳胶代码转换为动画,但渲染后的内容会重新调整其大小以最佳适应框架,我想关闭此功能,因为动画在渲染时会闪烁。以下是乳胶代码:

        \documentclass[aspectratio=169]{beamer}
        \usepackage{tikz}
        \usepackage{tkz-euclide}
    \setbeamertemplate{navigation symbols}{}
    \setlength{\parindent}{0pt}
        \begin{document}
        \begin{frame}
        \begin{center}
        \begin{tikzpicture}[scale=0.7]
        \tkzDefPoint(2,0){A}\tkzDefPoint(0,0){O}
        \tkzDefShiftPoint[A](31:5){B}
        \tkzDefShiftPoint[A](*#type-g 1:120 20:3600#* :5){C}
        \tkzDrawPoints(A,B,C)
        \tkzDrawSegments[color = red, line width = 1pt](A,B A,C)
        \tkzProtractor[scale = 1](A,B)
        \end{tikzpicture}
        \end{center}
        \end{frame}
        \end{document}

这里,*#type-g 1:120 20:3600#*表示在动画的 1 到 120 帧内将此位置的值从 20 补间至 3600。

在此处输入图片描述

答案1

我认为解决方案可能是添加\useasboundingbox(tikz) 命令。谢布·格拉夫评论中建议,如果你画一个独特的矩形,包围所有可能的图形位置,你就已经修复了它。然后你可以用\useasboundingbox相同的顶点更改绘制的矩形。我补充说,例如:

\useasboundingbox (-3.5,-5.5) rectangle (7.5,5.5);

我修改了动画代码,用类似的东西(我想)制作不同的投影幻灯片。这是我所拥有的:

\documentclass[aspectratio=169]{beamer}
%\usepackage{tikz}
\usepackage{tkz-euclide}
\setbeamertemplate{navigation symbols}{}
\setlength{\parindent}{0pt}

\begin{document}
\begin{frame}
\begin{center}
\begin{tikzpicture}[scale=0.7]
\useasboundingbox (-3.5,-5.5) rectangle (7.5,5.5);
\tkzDefPoint(2,0){A}\tkzDefPoint(0,0){O}
\tkzDefShiftPoint[A](31:5){B}
\foreach\i in {1,...,18}
{% this produces 18 beamer slides
  \only<\i>
  {%
    \pgfmathtruncatemacro\a{20*(\i-1)+31} % rotation angle
    \tkzDefShiftPoint[A](\a:5){C}
  }
}
\tkzDrawPoints(A,B,C)
\tkzDrawSegments[color = red, line width = 1pt](A,B A,C)
\tkzProtractor[scale = 1](A,B)
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}

在此处输入图片描述 编辑:为了看看这里发生了什么,请看下面的图片: 在此处输入图片描述

相关内容