tikz 中的 filldraw 单独更改其位置

tikz 中的 filldraw 单独更改其位置

我正在尝试为我的投影机生成自己的标题页,我尝试了以下步骤:

\documentclass[11pt]{beamer}
\usetheme{Madrid}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{tikz}


\begin{document}
\begin{frame}{}
\begin{tikzpicture} 
\fill[blue!20!black] (-7,1) rectangle (7,6);
 \fill[blue!25] (-7,1) rectangle (7,-0.5);
\fill[white,opacity=.3] (-7,-0.5) rectangle (7,-4);
\node[ ] at (-6,2) {{\textcolor{white}{\Huge{  }}}};
\node[ ] at (-6,0.5) { };
\node[ ] at (-6,-1.5) { };    
%\node[] at (4.2,4.9) {\includegraphics[scale=0.4]{ }};
\end{tikzpicture}
\end{frame}
\end{document}  

问题是,无论我如何更改它们的坐标,填充图都无法覆盖整个幻灯片,它们都稍微向左偏移了一点,而我希望它们覆盖整个幻灯片。此外,当我更改节点中的标题时(上面我将它们保留为空),填充图会向左偏移更多。

有人能帮我解决这个问题吗?

先感谢您。

答案1

如果您希望填充页面或执行与页面坐标相关的操作,则可能需要使用节点。current page要访问其锚点(如north、等),您需要拨打键。然后您可以使用这些页面锚点绘制对象。例如,westsouth eastoverlay,remember picture

\fill[blue!20!black](current page.north west)
        rectangle ([yshift=-5.5cm]current page.north east);

填充由两个角定义的矩形:页面/框架的左上角和页面/框架右上角下方 5.5 厘米处的点。也就是说,yshift=<distance>表示“将 y 坐标移动distance”。xshift工作原理类似。

\documentclass[11pt]{beamer}
\usetheme{Madrid}
\usepackage{amsmath}
\usepackage{tikz}


\begin{document}
\begin{frame}[plain]
\begin{tikzpicture}[overlay,remember picture]
 \fill[blue!20!black](current page.north west)
        rectangle ([yshift=-5.5cm]current page.north east);
 \fill[blue!25]([yshift=-5.5cm]current page.north west)
        rectangle ([yshift=-7cm]current page.north east);
 \fill[white,opacity=.3] ([yshift=-1.5cm]current page.north west)
    rectangle ([yshift=-5cm]current page.north east);
 \node[anchor=north west,font=\Huge,text=white] at
  ([yshift=-3cm,xshift=1cm]current page.north west)
  {Blub};
 \end{tikzpicture}
\end{frame}
\end{document} 

在此处输入图片描述

如果您希望删除右下角的导航符号,可以使用\beamertemplatenavigationsymbolsempty。 并且已经由和graphicx加载,您无需单独加载它。 samcarter 在 topanswers.xyz 好心地告诉我,beamer 加载和,并且使用最新的也是不必要的。beamertikzamsfontsamssymb\usepackage[utf8]{inputenc}

相关内容