![tikz 中的 filldraw 单独更改其位置](https://linux22.com/image/408045/tikz%20%E4%B8%AD%E7%9A%84%20filldraw%20%E5%8D%95%E7%8B%AC%E6%9B%B4%E6%94%B9%E5%85%B6%E4%BD%8D%E7%BD%AE.png)
我正在尝试为我的投影机生成自己的标题页,我尝试了以下步骤:
\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
、等),您需要拨打键。然后您可以使用这些页面锚点绘制对象。例如,west
south east
overlay,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 加载和,并且使用最新的也是不必要的。beamer
tikz
amsfonts
amssymb
\usepackage[utf8]{inputenc}