语境。
我的文章中有这种 tikzpicture,我想将其包含在 beamer 演示文稿中:
请注意,groupI
为了阐明问题,该图已被简化,因为它代表了一组节点。
(此 MWE 的代码如下)
问题。
我的目标是以某种方式将此图插入我的演示文稿中。如您所见,该图完全填满了 A4 页面。因此很难将其转换为横屏格式,并且保持“可读性”。
例如,如果我只是在 beamer 中使用相同的代码,则会显示以下内容:
问题
- 为了将这些类型的图片包含在投影仪演示文稿中,您有何建议/提议?
- 是否可以保留演示文稿中的所有节点(以保留图形的结构)并仅打印某些节点?
- 有没有办法将一张图片“分解”到多个页面中,而无需将代码本身拆分到多个
tikzpicture
环境中?
想法
我的想法是,例如,在某些投影仪页面上仅打印 2 组,但保留箭头、相对位置等结构,如下图所示:
并且在图片的边缘有一些虚线,以显示这只是整体图形的一部分。
乌托邦: 最棒的是能够动画该图的读法如下:
- 图形的整体可视化
- 放大组 1 \pause
- 稍微移动到 group2 \pause
- ETC。
但实现这种流畅的动画是乌托邦式的,它应该(而且可以)用其他软件而不是使用 Latex 来实现。
无论如何,我正在寻找一些想法和代码,以便让它具有一点交互性、易于阅读,并适合 beamer 页面。我将这个问题留到几个小时/几天,以防有人有其他有趣的想法可以提出。
最小工作示例。
文章
\documentclass[10pt,a4paper]{article}
\usepackage[left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,arrows}
\tikzstyle{arr} = [draw, -latex']
\begin{document}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm] (1) {group1} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 1, xshift = 9cm] (2) {group2} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 2, xshift = -9cm] (3) {group3} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 3, xshift = 9cm] (4) {group4} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 4, xshift = -9cm] (5) {group5} ;
\path [arr] (1) -- (2);
\path [arr] (2) -- (3);
\path [arr] (3) -- (4);
\path [arr] (4) -- (5);
\end{tikzpicture}
\end{figure}
\end{document}
比默
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,arrows}
\tikzstyle{arr} = [draw, -latex']
\begin{document}
\begin{frame}
\frametitle{Figure (1)}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm] (1) {group1} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 1, xshift = 9cm] (2) {group2} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 2, xshift = -9cm] (3) {group3} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 3, xshift = 9cm] (4) {group4} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 4, xshift = -9cm] (5) {group5} ;
\path [arr] (1) -- (2);
\path [arr] (2) -- (3);
\path [arr] (3) -- (4);
\path [arr] (4) -- (5);
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}
提前感谢您提供的任何帮助。如果不够清楚,请在评论中提问。
答案1
也许与spy
图书馆有关:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,arrows,spy}
\tikzstyle{arr} = [draw, -latex']
\begin{document}
\begin{frame} % premier transparent
\frametitle{Figure (1)}
\scalebox{.3}{
\begin{tikzpicture}[spy using outlines={circle, magnification=3, size=20cm, connect spies}]
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm] (1) {group1} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 1, xshift = 9cm] (2) {group2} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 2, xshift = -9cm] (3) {group3} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 3, xshift = 9cm] (4) {group4} ;
\node [rectangle,draw,minimum width = 6cm, minimum height = 3cm,below=2cm of 4, xshift = -9cm] (5) {group5} ;
\path [arr] (1) -- (2);
\path [arr] (2) -- (3);
\path [arr] (3) -- (4);
\path [arr] (4) -- (5);
\only<2>{\spy [overlay,red] on (1.center) in node [right] at (15,-7);}
\only<3>{\spy [overlay,red] on (2.center) in node [right] at (15,-7);}
\only<4>{\spy [overlay,red] on (3.center) in node [right] at (15,-7);}
\only<5>{\spy [overlay,red] on (4.center) in node [right] at (15,-7);}
\only<6>{\spy [overlay,red] on (5.center) in node [right] at (15,-7);}
\end{tikzpicture}
}
\end{frame}
\end{document}
如果圆圈占据了太多空间,您还可以监视与原始圆圈相匹配的矩形。
答案2
使用Spy
库是一个非常好的主意,但如果你不想触碰你的原始图形并将其放在独立的 pdf 文件中,你可以使用viewport+clip
来自graphicx
(已经加载beamer.cls
)或clip/Clip
来自的选项adjustbox
将原始图形的一部分包含在幻灯片中。
对于下一个代码,我已经在standalone
文档名为199051.tex
。结果199051.pdf
文件被剪辑并显示在下一个演示文稿中:
\documentclass{beamer}
%\usepackage{adjustbox}
\begin{document}
\begin{frame} % premier transparent
\frametitle{Figure (1)}
\centering
\includegraphics[height={.9\paperheight},keepaspectratio]{199051}
\end{frame}
\begin{frame}{Group 5}
\centering
\fbox{\includegraphics[width={.8\paperwidth},keepaspectratio,viewport=0 0 6.5cm 3.5cm, clip]{199051}}
\end{frame}
\begin{frame}{Group 3+4}
\centering
\fbox{\includegraphics[width={.85\paperwidth},keepaspectratio,viewport=0 5cm 15.5cm 13.5cm, clip]{199051}}
\end{frame}
\end{document}
结果是: