![如何将 tikz 图形置于 beamer 框架的中心](https://linux22.com/image/281189/%E5%A6%82%E4%BD%95%E5%B0%86%20tikz%20%E5%9B%BE%E5%BD%A2%E7%BD%AE%E4%BA%8E%20beamer%20%E6%A1%86%E6%9E%B6%E7%9A%84%E4%B8%AD%E5%BF%83.png)
我被告知要使用该standalone
包,我使用了它,但它似乎没有将图形居中。我错过了什么选项?
具体来说,这是主要文件:
\documentclass{beamer}
\usepackage{standalone}
\usepackage{tikz}
\usecolortheme{wolverine}
\begin{document}
\begin{frame}\frametitle{Title}
\framesubtitle{Subtitle}
\centering
\includestandalone[
mode=tex,
width=1.3\textwidth,
height=0.8\textheight
]{circle}
\end{frame}
\end{document}
虽然包含的文件很简单:
\documentclass[crop,preview,tikz]{standalone}
\begin{document}%
\begin{tikzpicture}%
\draw (0,0) circle (1cm);%
\end{tikzpicture}%
\end{document}
不幸的是,这个简单的圆圈似乎没有位于页面的中心。
~
澄清:我不介意扭曲,130%的比例是为了证明拉长的圆圈不在中心,否则两边都会有相同的溢出。
我相信输出表明所包含的图片是垂直居中的。
顺便说一句,这个Beamer 中的 Tikz 图形向框架右侧移动似乎是相关的,但\noindent
将其设置\parindent
为零,似乎没有帮助。
答案1
您可以调用框架的(绝对)中心:
\begin{filecontents}{circle}
\documentclass[crop,preview,tikz]{standalone}
\begin{document}%
\begin{tikzpicture}%
\draw (0,0) circle
(1cm);%
\end{tikzpicture}%
\end{document}
\end{circle}
\end{filecontents}
\documentclass{beamer}
\usepackage{standalone}
\usepackage{tikz}
\usecolortheme{wolverine}
\begin{document}
\begin{frame}
\frametitle{Title}
\framesubtitle{Subtitle}
\begin{figure}
\centering
\includestandalone[
mode=tex,
width=1.3\textwidth,
height=0.8\textheight
]{circle}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{Title}
\framesubtitle{Subtitle}
\begin{tikzpicture}[remember picture,overlay]
\node at (current page.center) {%
\includestandalone[
mode=tex,
width=1\textwidth,
height=0.8\textheight
]{circle}
};
\end{tikzpicture}
\end{frame}
\end{document}
不过,需要进行一点 y 轴偏移。这需要多次运行,至少两次,甚至三次。
但说实话,这似乎是一个相当尴尬和烦人的解决方案。
正如您建议的那样链接线程,图形环境可防止移位。这可能是更好的解决方案。