乳胶投影机 - 水平分割框架 - 去除顶部边距

乳胶投影机 - 水平分割框架 - 去除顶部边距

我正在尝试制作我的第一个 LaTeX beamer 主题。该主题将是开源的。

为了促进和推动 LaTeX 的采用,我想提供一些具有特定布局的预制且可立即使用的“框架”。

我已经创建了一个文件“frames.tex”,它包含在我的主文件中。

我正在尝试创建 4 个基本框架布局 A、B、C 和 D。

布局 A 是水平分成两部分的框架,顶部是图片,底部是文本。图片必须占据整个页面宽度,高度必须是页面高度的一半。布局 B 相同,但顶部是文本,底部是图片。

布局 C 是垂直分成两部分的框架,左侧是图片,右侧是文本。图片必须占据整个页面的高度,宽度必须是页面的一半。布局 D 相同,但左侧是文本,右侧是图片。

到目前为止,我几乎成功获得了 A 和 C(B 和 D 尚未完成) 布局使用此代码工作:

\NewEnviron{FrameA}[3][]{%
    \begin{frame}
        \begin{columns}
            \column{\paperwidth}
                \includegraphics[width=\the\paperwidth, height=.5\paperheight]{src/afup/style/logo/bg1}
            \begin{tikzpicture}
                \node[shape=rectangle, text opacity=1,minimum height=.5\paperheight, minimum width=\paperwidth, anchor=south]{
                    \BODY
                };
            \end{tikzpicture}
        \end{columns}
    \end{frame}
}

\NewEnviron{FrameC}[3][]{%
    \begin{frame}
        \begin{columns}
            \column{.5\paperwidth}
                \includegraphics[width=.5\paperwidth, height=\paperheight]{src/afup/style/logo/bg1}
            \column{.5\paperwidth}
                \begin{tikzpicture}
                    \node[shape=rectangle, text opacity=1,minimum height=\paperheight, minimum width=.5\paperwidth, anchor=east]{
                        \BODY
                    };
                \end{tikzpicture}
        \end{columns}
    \end{frame}
}

主 tex 文件(我删除了不相关的部分) 是:

\documentclass{beamer}

\input{frames}

\begin{document}

\begin{FrameA}
    Some text here
\end{FrameA}

\begin{FrameB}
    Some text here
\end{FrameB}

\end{document}

得到的 PDF 为frameAhttps://i.stack.imgur.com/6dHBU.jpg

得到的 PDF 为frameChttps://i.stack.imgur.com/nUlI5.jpg

现在我的问题是:如何消除页面顶部的微小边距?

我尝试了很多方法,但都无法克服它。

你能帮忙吗?

答案1

您已经在使用 tikz 来定位您的文本,您也可以使用它来定位您的图像,从而避免多余的空间:

\documentclass{beamer}

\usepackage{environ}
\usepackage{tikz}

\NewEnviron{FrameA}[3][]{%
    \begin{frame}[environment=FrameB]
      \begin{tikzpicture}[remember picture, overlay,inner sep=0pt]
        \node[anchor=north] at (current page.north) {\includegraphics[width=\paperwidth, height=.5\paperheight]{example-image-duck}};
        \node[shape=rectangle, text opacity=1,minimum height=.5\paperheight, minimum width=\paperwidth, anchor=south] at (current page.south) {\BODY};
      \end{tikzpicture}
    \end{frame}
}

\NewEnviron{FrameB}[3][]{%
    \begin{frame}[environment=FrameB]
      \begin{tikzpicture}[remember picture, overlay,inner sep=0pt]
        \node[anchor=west] at (current page.west) {\includegraphics[width=.5\paperwidth, height=\paperheight]{example-image-duck}};
        \node[shape=rectangle, text opacity=1,minimum height=\paperheight, minimum width=.5\paperwidth, anchor=east] at (current page.east) {\BODY};
      \end{tikzpicture}
    \end{frame}
}

\begin{document}

\begin{FrameA}
    Some text here
\end{FrameA}

\begin{FrameB}
    Some text here
\end{FrameB}

\end{document}

在此处输入图片描述

相关内容