beamer 中使用 tikz 画图和动画

之前使用beamer写slides,都是直接找的图片,所以直接采用贴图的方式。前几天搜索到了tikz这个宏包,发现它可以用来绘制图表,并结合到beamer中形成动画效果,因此找了一些资料,并尝试画简单的流程图。
首先,需要在源文件中指定引用tikz宏包,并且定义一些简单的图形:
[cce lang=’latex’]
\usepackage{tikz}

\tikzstyle{block} = [rectangle, draw, fill=blue!20, text width=4em, text centered, rounded corners]
\tikzstyle{hugeBlock} = [rectangle, draw, fill=blue!20,
text width=5em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex’]
[/cce]
这里定义了两个图形,一个是普通的“块”,用蓝色填充,文字居中,有圆角;还有一个“大块”,其他都一样,只是文字宽度和“块”最小宽度不同。
试着画一个简单的静态图:
[cce lang=’latex’]
\begin{frame}{集中式工作流}
工作流程和svn类似,基本形态如图:
\begin{tikzpicture}[node distance = 2cm, auto]
\node [block] (center) {共享仓库};
\node[block, below of=center, node distance = 3cm](centerDevelop){开发者2};
\node[block, left of=centerDevelop, node distance = 3cm](leftDevelop){开发者1};
\node[block, right of=centerDevelop,node distance = 3cm](rightDevelop){开发者3};
\path[line,<->](center) — (leftDevelop);
\path[line,<->](center) — (centerDevelop);
\path[line,<->](center) — node{push/pull} (rightDevelop);
\end{tikzpicture}
\end{frame}
[/cce]
首先是开始一个tikzpicture绘图区域,然后使用\node绘制节点,节点都是使用前面定义的“块”。可以通过位置参数来控制绘制的节点和其他节点的相对位置关系。绘制完节点之后,绘制节点的连线:通过\path指令。这里使用双向箭头,所以在参数里面增加了<->符号。连接节点的方式很简单,用前面定义的节点名字,之间用–连起来就好了。这幅图是参照pro git中的集中式工作流介绍中的插图画的,源图为:
绘制出来的图为:

虽然不是太好看,当然也可以通过修改“块”的图形,弄的更好看些。

将tikz用在beamer中,最主要的当然是为了让生成的pdf有“动画”效果了,也就是能够自动生成多张pdf页面,在播放的时候有类似分布展现的效果。
[cce lang=’latex’]
\begin{frame}\frametitle{集成管理员工作流}\framesubtitle{参与者流程}
\begin{tikzpicture}[node distance = 3cm, auto]
\path[use as bounding box] (-1,0) rectangle (10,-2);
\path[line]<1-> node[block](fock){fock工程};
\path[line]<2-> node[block, right of=fock, node distance=3cm](clone){克隆到本地}
(fock) — (clone);
\path[line]<3-> node[block, right of=clone, node distance=3cm](edit){修改}
(clone) — (edit);
\path[line]<4-> node[block, below of=edit, node distance=3cm](commit){提交}
(edit) — (commit);
\path[line]<5-> node[block, left of=commit, node distance=3cm](push){推送远程}
(commit) — (push);
\path[line]<6-> node[block, left of=push, node distance=3cm](mergeRequst){请求merge}
(push) — (mergeRequst);
\end{tikzpicture}
\end{frame}
[/cce]
这里主要靠\path指令,用法和beamer中的itemize/item相同,通过指定<n->,让tex在后面第n页上绘制。需要特别注意的是第一个path。必须要绘制一个bounding box,否则在排版的时候会自动把节点进行居中等重排,导致后面的页面和前面的节点绝对位置有所移动。这里每个path会生成一页,这一个frame会包含6页。

转载自:https://coolex.info/blog/298.html

时间: 2024-07-29 02:13:23

beamer 中使用 tikz 画图和动画的相关文章

Beamer 使用 tikz 宏包实现画图和动画实例

之前使用beamer写slides,都是直接找的图片,所以直接采用贴图的方式.前几天搜索到了tikz这个宏包,发现它可以用来绘制图表,并结合到beamer中形成动画效果,因此找了一些资料,并尝试画简单的流程图. 首先,需要在源文件中指定引用tikz宏包,并且定义一些简单的图形:  代码如下 复制代码 usepackage{tikz} tikzstyle{block} = [rectangle, draw, fill=blue!20, text width=4em, text centered,

在.NET中实现彩色光标,动画光标和自定义光标

面是完整的例子,可以通过命令行编译即可看到效果. Test.cs using System;using System.Drawing;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Reflection; namespace ColorCursor{ /// <summary> /// 本例子的作用: /// 在.NET中实现彩色光标,动画光标和自定义光标. /// </summar

与众不同windows phone (17) Graphic and Animation(画图和动画)

介绍 与众不同 windows phone 7.5 (sdk 7.1) 之画图和动画 图形 画笔 转换 动画 缓动 示例 1.图形(Shape) ShapeDemo.xaml <phone:PhoneApplicationPage x:Class="Demo.GraphicAndAnimation.ShapeDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns

FlashCS4中制作漂亮的气泡动画教程

  FlashCS4中制作漂亮的气泡动画,是考试中必考的试题,本文对FlashCS4中制作漂亮的气泡动画 教程进行了具体阐述供阅读.大家请仔细阅读下文! 详细代码: function ball(r:int):MovieClip {//自定义函数 ball,参数为 r,整数型,返回值为 MovieClip var col:uint=0xffffff*Math.random();//声明一个无符号整数型变量 col,获取任意颜色 var sh:MovieClip=new MovieClip();//

PPT中怎么制作打字效果动画(图文)

PPT中怎么制作打字效果动画(图文)   演示的动态图只有图像没有声音,其实这个动画是有声音的,各位同学可以去文章最后素材体验. 1.切换到"插入"选项卡,在"文本"组中找到"文本框",选择一种文本框类型,并在幻灯片中绘制这种文本框. 2.在文本框中输入文字,并且在"开始"选项卡中修改它们的字体.字号以及颜色等. 3.选中文本框,在"动画"选项卡的"高级动画"组中给他添加出现动画. 4.

WPS演示中怎么添加闪烁字幕动画效果

  WPS演示中怎么添加闪烁字幕动画效果 1.打开WPS演示,新建有一个幻灯片,为了不影响制作过程,我删除了标题框和副标题框. 2.点击绘图工具栏--自选图形--基本形状--笑脸,在幻灯片中添加该表情动画. 3.右键点击该表情,选择设置对象格式. 4.在颜色与线条选项卡中,填充色选择填充效果. 5.颜色勾选预设,在预设颜色中选择一种效果,确定. 6.右键点击表情,选择自定义动画,在右侧点击添加效果--进入--盒状. 7.开始选择单击时,方向选择内,速度选为快速. 8.再次点击添加效果--动作路径

xelatex工具中beamer中如何使用中文字体

  xelatex是可以直接使用电脑内字体来生成文档的工具,Beamer 是一个用于创建演示文稿 LaTeX 文档类.本文我们来看看beamer中使用中文字体. xelatex使用字体相对是很方便的了,可以直接使用系统上已经安装的字体.但是按照原来写过的一个模版来写beamer,却发现里面的中文无法识别. 原来是通过setmainfont[Mapping=tex-text]{文泉驿正黑}来设置主要字体为文泉驿的,但是这样的设置方法在beamer中貌似没用.搜索之后发现beamer默认使用的是sa

AngularJS中实现显示或隐藏动画效果的方式总结_AngularJS

AngularJS 是一组用于创建单页Web应用的丰富框架,给构建丰富交互地应用带来了所有需要的功能.其中一项主要的特性就是Angular带来了对动画的支持. 本篇体验在AngularJS中实现在"显示/隐藏"这2种状态切换间添加动画效果. 通过CSS方式实现显示/隐藏动画效果 思路: →npm install angular-animage →依赖:var app = angular.module("app",["ngAnimate"]); →

引导页-Android 中引导界面加入手势动画 大大们 给个思路

问题描述 Android 中引导界面加入手势动画 大大们 给个思路 ViewPager 在滑动过程中,第一页(当前页)有左右两张小图片,第二页有上下两张小图片;当手指滑动屏幕的时候,当前页的左右两张图片随手指的移动距离向屏幕两侧退出,第二页的上下两张图片从屏幕上下侧进入,是用动画呢?还是重绘呢? 亲 怎么办呀? 解决方案 自定义viewpager 亲 自己实现算法吧 墨迹的很, 你网上找找吧