使用绝对坐标定制投影仪

使用绝对坐标定制投影仪

目前,我尝试构建一个自定义的 beamer 模板,以匹配我所在研究所使用的模板。虽然我发现很多概念都很合乎逻辑且易于使用,但定位对我来说却很麻烦,而且有点难以控制。所以我想问一下,是否有地方对 beamer 中的边距进行了完整的概述,以及如何消除它们的解决方案。另外,我想问一下,是否有关于如何使用 tikz 进行定位的良好概述。

为了说明我的困难,我举一个简单的例子:我设置了纸张大小,并在 outertheme.sty 中尝试定义整个纸张的背景。如果我编译并且没有从一个角扩展到另一个角,为什么它会在幻灯片的某个地方?

\begin{filecontents*}{beamerthemepositioning.sty}
\mode<presentation>

% Requirement
\RequirePackage{tikz}
\RequirePackage{xcolor}

% Settings
\useinnertheme{positioning}
\setbeamertemplate{navigation symbols}{}

\mode<all>
\end{filecontents*}


\begin{filecontents*}{beamerinnerthemepositioning.sty}
\mode<presentation>

\usetikzlibrary{backgrounds}

% Title page
\setbeamertemplate{title page}{%
\begin{tikzpicture}[remember picture,overlay]

% Background
\fill [red] (0mm,0mm) rectangle (250mm,190mm);
%Title
\node[anchor=north west] 
  at (10mm,90mm) (title)
  {\parbox[t]{247mm}{\raggedleft%
  \usebeamerfont{title}\textcolor{black}{\inserttitle}}};    

\end{tikzpicture}
}

\mode
<all>
\end{filecontents*}

\documentclass[14pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}
\usepackage{tikz}
\RequirePackage{xcolor}
\usepackage[absolute,overlay]{textpos}
\title{Example Positioning disaster}

\geometry{papersize={250mm,190mm}}

\usetheme{positioning}

\begin{document}

\begin{frame}
\titlepage
\end{frame}
\end{document}

另外,我知道包textpos,它似乎允许给出绝对坐标的概念。但据我所知,它只适用于文本。在 beamer/tikz 中是否也有用于绝对定位和在画布/纸上定义原点的原生解决方案?

感谢您对如何使用模板取得进展的评论和建议!

答案1

我个人的看法:tikz对于简单的定位来说,使用有点小题大做。

对于我自己的 beamer 主题,我使用了一个简单的picture环境,并使用 来定位元素\put(x,y){...}。为了控制框架标题等的最大宽度和换行符,我使用minipages。

\documentclass[14pt]{beamer}
\geometry{papersize={250mm,190mm}}

% Title page
\setbeamertemplate{title page}{%
    \setlength{\unitlength}{1mm}
    \begin{picture}(250,190)(10,0)%
        \put(0,0){\color{red}\rule{\paperwidth}{\paperheight}}
        \put(72.0,100){%
            \begin{minipage}[b][30.7mm][b]{169.3mm}
                \usebeamerfont{title}{\inserttitle\par}
            \end{minipage}
        }
    \end{picture}
}

\title{Example Positioning disaster}

\begin{document}

\begin{frame}
\titlepage
\end{frame}
\end{document}

第二种解决方案

如果您想继续使用 tikz,您可以根据页面定义坐标,例如填充整个背景:

\documentclass[14pt]{beamer}
\geometry{papersize={250mm,190mm}}

\usepackage{tikz}

\setbeamertemplate{title page}{%
\begin{tikzpicture}[overlay, remember picture]
    \fill[red] (current page.south west) rectangle (current page.north east);
\end{tikzpicture}
}

\title{Example Positioning disaster}

\begin{document}

\begin{frame}
\titlepage
\end{frame}
\end{document}

相关内容