tikzpicture
TiKz 允许您使用预定义的current page
坐标将 s定位到页面上的任何位置。
然而,当您也使用 Beamer 的show notes
选项(使用)时pgfpages
,这会破坏绝对坐标系。
我以为我找到了解决方案(见使用“在第二个屏幕上显示注释”和绝对“pgf”定位时,标题图片在 Beamer 中错位)。这将使用该\nofiles
命令,以便在第二次运行 LaTeX 时,我们保留原始 AUX 文件(以及tikzpicture
使用该remember picture
选项存储的位置)。
但是,这似乎只对第一次出现的带有 s 的幻灯片有效tikzpicture
。所有后续幻灯片的绝对定位仍然混乱。
没有该\nofiles
命令,tikzpicture
大小和位置都是错误的。使用两步编译(hide notes
后跟show notes
with\nofiles
命令)后,大小正确,第一张幻灯片上图片的位置正确,其他所有位置都是错误的。
我感觉已经接近理解什么是错的/需要改变的/如何解决这个问题了。
最小工作示例:
\documentclass[11pt]{beamer}
%%%%% pick one of the following three lines:
%\setbeameroption{show only notes}
%\setbeameroption{show notes}\nofiles
\setbeameroption{hide notes}
%% For the notes slides to work, we need to compile with 'hide notes' first,
%% this gets the position of all the tikz environments right. Then,
%% and only then, compile with the 'show notes' line, including the
%% \nofiles option. That will get the notes slides done properly.
%% [https://tex.stackexchange.com/questions/86378/title-picture-misplaced-in-beamer-when-using-show-notes-on-second-screen-and-a]
%%
\usetheme{Frankfurt} %% header, filled blocks, toc(line)
\usepackage{tikz}
\usetikzlibrary{calc}
%% the following puts a \notes{} command on every slide
\makeatletter
\def\beamer@framenotesbegin{% at beginning of slide
\gdef\beamer@noteitems{}%
\gdef\beamer@notes{{}}% used to be totally empty.
}
\makeatother
\title{TEST}
\author{Someone}
\begin{document}
\section{SECTION}
\subsection{CONTENT}
\begin{frame}[fragile,label=pic1]{Title}{subtitle}
\begin{tikzpicture}[remember picture,overlay]
\node (PIC1a) at ($(current page.south west)+(5mm,5mm)$) [anchor=south west,draw=red] {PIC1a};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]
\node (PIC1b) at ($(current page.south east)+(-5mm,5mm)$) [anchor=south east,draw=red] {PIC1b};
\end{tikzpicture}
\note{Simple note\\\alert{First slide}}
\end{frame}
\begin{frame}[fragile,label=pic2]{Title}{subtitle}
\begin{tikzpicture}[remember picture,overlay]
\node (PIC2a) at ($(current page.south west)+(5mm,5mm)$) [anchor=south west,draw=red] {PIC2a};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]
\node (PIC2b) at ($(current page.south east)+(-5mm,5mm)$) [anchor=south east,draw=red] {PIC2b};
\end{tikzpicture}
%% NO EXPLICIT \note
\end{frame}
\begin{frame}[fragile,label=pic3]{Title}{subtitle}
\begin{tikzpicture}[remember picture,overlay]
\node (PIC3a) at ($(current page.south west)+(5mm,5mm)$) [anchor=south west,draw=red] {PIC3a};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]
\node (PIC3b) at ($(current page.south east)+(-5mm,5mm)$) [anchor=south east,draw=red] {PIC3b};
\end{tikzpicture}
\note{Simple note\\\alert{Third slide}}
\end{frame}
\end{document}
以下是生成的 PDF(堆叠pdfnup
并转换为 PNG 以便上传):
- 使用
hide notes
选项编译 - 使用
show notes
选项进行编译并\nofiles
执行后 (1) - 使用
show notes
选项进行编译,作为一次传递,无需使用\nofiles
在 AUX 文件中,我看到包括以下内容的行\pgfsyspdfmark
,在读取时114.15 位置跟踪命令来自 pgfmanual (v3.0.1a),似乎是感兴趣的线。
我只是不明白为什么第一张幻灯片修复后没问题,\nofiles
但后面的幻灯片却错了。我是不是漏掉了什么?
解决方案
确保您拥有最新的软件包。升级后:
- beamer 2015/01/05 3.36
- pgfcore 2010/04/11 v3.0.1 (rcs-修订版 1.7)
- 使用 TeX Live 2013/Debian 进行编译(在 Ubuntu 上)
使用方法(4),show notes
选项无需任何改动,即可\nofiles
正常工作。
我不知道升级后发生了什么变化...上述问题来自使用 pgf v2.10。