slides 中遇到的东西
[ 心情: Cool ]
为了论文答辩,用 latex+beamer 做了一个 slides, 后来发现想在生成的 pdf 文件中加入一个时钟,主要是方便自己在讲的时候把握时间,也是,做了一学期,说的却不超过8分钟…闲话就算了..
室友 zz 在网上一顿狂搜,发现用 javascript 可以实现,于是采用 eforms 宏包,加了这样一段代码在 tex 文件中
代码:
\begin{insDLJS}{showtime}{Show time}
sec=0
min=0
function tClock()
{
sec=sec+1
if(sec==60){sec=0;min=min+1;}
minStr=min
secStr=sec
if(sec<10) secStr=”0″+sec
for (i=1;i<=50;i++)
this.getField(”time”+i).value=minStr+”:”+secStr
}
var timeout =app.setInterval(”tClock()”,1000);
\end{insDLJS}
并在导言区定义了
代码:
\newcommand{\timemark}[1]{\begin{textblock}{0.7}[0,0]
(11.3,15.53)\textField[\BC{0.91 0.91 1}\BG{0.91 0.911}
\textSize{6.4}\textColor{0 0 0 rg}]{time#1}{0.8cm}
{5.5bp}\end{textblock}}
这样就会在 slides 底部生成一个小时钟,从打开开始计时,按照分钟记。
但是同时需要在每一个 frame 中硬性的插入 \timemark{1} \timemark{2}这样的标签。
我是想直接插入在 \begin{frame} \frametitle{xxx}那行的下面,于是首先想使用 sed 的 a\ 命令来处理,同时前一天在 gnu.emacs.help 中看到了自动顺序编号的办法,就是使用 regexp的 \# 实现的,可是在 sed 中,虽然正常的插入了,但是却没有 \#计数的这个,郁闷死了,忽然想到直接在 emacs 中处理。
找了半天没有在匹配行后面追加的命令,于是想到了一个有点 dirty 的办法,用 [...]

