关于c#:Bammer中整个帧上的TikZ图片不使用叠加

关于c#:Bammer中整个帧上的TikZ图片不使用叠加

我有一个beamer演示文稿,其中包含多个 TikZ 图表,这些图表分布在整个框架中,即使用全屏尺寸。我使用叠加选项来确保图片捕捉整个框架:

\begin{tikzpicture}[overlay, remember picture]
  ...
\end{tikzpicture}

问题是这些图表在笔记页面上很混乱,无法正确对齐它们。

有没有办法让 TikZ 图片遍布整个页面?我尝试使用与整个框架一样大的节点,但它与框架的顶部和左侧边缘之间有一些边距。

编辑

当不使用覆盖或背景模板时,结果会向右移动:

\begin{frame}
  \begin{tikzpicture}
    \node[minimum width=\paperwidth, minimum height=\paperheight, anchor=north west] (a) {};
    \draw [very thick] (a.north west) -- (a.south east);
    \draw [very thick] (a.north east) -- (a.south west);
  \end{tikzpicture}
\end{frame}

角落处没有 X

答案1

如果您将图片包裹起来tikzpicture\makebox[\textwidth][c]{...}图片将正确居中并延伸至整个宽度。

\documentclass{beamer}
\usepackage{tikz}

\begin{document}

\begin{frame}
 \makebox[\textwidth][c]{\begin{tikzpicture}
    \node[minimum width=\paperwidth, minimum height=\paperheight, anchor=north west] (a) {};
    \draw [very thick] (a.north west) -- (a.south east);
    \draw [very thick] (a.north east) -- (a.south west);
  \end{tikzpicture}
  }
\end{frame}

\end{document}

答案2

这里有两个选项,第二个是杰克建议的,第一个是取自 如何在投影仪框架中插入背景图像?

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{graphicx}

\begin{document}

{
\usebackgroundtemplate{%
\begin{tikzpicture}
\node[draw,very thick,minimum width=\paperwidth-\pgflinewidth,minimum height=\paperheight-\pgflinewidth] [anchor=north west] (mynode) {My node};
\draw (mynode.north west)--(mynode.south east);
\draw (mynode.south west)--(mynode.north east);
\end{tikzpicture}
}
\begin{frame}{Frame with background}
\begin{itemize}
\item 1
\item 2
\item 3
\end{itemize}
\end{frame}
}

\begin{frame}{Frame with overlay picture}
\begin{tikzpicture}[overlay, remember picture]
\node[draw,very thick,minimum width=\paperwidth-\pgflinewidth,minimum height=\paperheight-\pgflinewidth] at (current page.north west) [anchor=north west] (mynode) {My node};
\draw (mynode.north west)--(mynode.south east);
\draw (mynode.south west)--(mynode.north east);
\end{tikzpicture}
\begin{itemize}
\item 1
\item 2
\item 3
\end{itemize}
\end{frame}
\end{document}

在此处输入图片描述

编辑

来自 beamer 用户指南8.2 框架和边距大小

除了使用这些选项之外,您不应更改“纸张大小”。但是,您可以更改左右边距的大小,默认为 1 厘米。要更改它们,您应该使用以下命令:\setbeamersize{⟨options⟩}

可以给出以下⟨options⟩:

  • text margin left=⟨TEX dimension⟩ 设置新的左边距。这不包括左侧边栏。因此,它是左侧边栏右边缘与文本左边缘之间的距离。

问题是这个命令只在前导码中有效,所以它会改变所有的显示边距。这里有一个新的例子:

\documentclass{beamer}
\usepackage{tikz}
\setbeamersize{text margin left=0pt}
\begin{document}
\begin{frame}
  \begin{tikzpicture}
    \node[minimum width=\paperwidth, minimum height=\paperheight, anchor=north west] (a) {};
    \draw [very thick] (a.north west) -- (a.south east);
    \draw [very thick] (a.north east) -- (a.south west);
  \end{tikzpicture}
\end{frame}
\end{document}

及其结果

在此处输入图片描述

答案3

以下是我首选的解决方案:使用绝对定位方法描述这里这里。它完美地对齐了“X”。

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
    \setbeamertemplate{navigation symbols}{} %remove navigation symbols
    \begin{frame}
        \begin{tikzpicture}[overlay, remember picture, shift={(current page.south west)}]
        \draw (0,0) -- (\paperwidth, \paperheight);
        \draw (0,\paperheight) -- (\paperwidth, 0);
        \end{tikzpicture}
    \end{frame}
\end{document}

相关内容