当我在研讨会上听一位演讲者介绍他的成果时,这个想法出现在我的脑海中,他在后面的幻灯片中使用了很多方程式参考,但是我不记得他引用了哪个方程式,因为他在演示的早期阶段给出了几个模型。
我们可以使用hyperref
获取上的超链接\eqref
,但单击它会返回到标记方程式的原始页面,并以某种方式中断演示。
我想到几种解决方法:(1)利用选项\pause
作为覆盖,一旦碰到空格,就会显示引用的方程式。(2)使用tikz
将插入minipage
到包含引用方程式的框架中。
但是,这两种解决方案都需要引用的方程式占据演示者当前幻灯片中的空间,最好的解决方案仍然是我在问题标题中所说的:将鼠标悬停在数字上\eqref
,然后会弹出一条显示方程式的评论。
我的 google-fu 引导我找到一个名为的包comment
,但是我没有找到任何关于如何使用该包制作精美幻灯片的好例子。
因此,我想知道是否有可能产生一些像标题所说的鼠标悬停事件,或者也欢迎任何其他解决方法。
答案1
以下是针对患有TeXLive 的稳定版本version 1.8
随发货fancytooltips
。
(有关较新版本和其他 TeX 发行版,请参见下文。)
这是使用fancytooltips
robert.marik.cz 的软件包的一种可能性,他也是本网站的常客。另请参阅相关主题:将鼠标悬停在引文键上时,在弹出窗口中显示书目条目罗伯特在那里演示了这个包裹。
以下是示例代码。文本取自http://en.wikipedia.org/wiki/Argument_principle
代码
\documentclass[10pt]{beamer}
\usetheme{EastLansing}
\setbeamertemplate{theorems}[numbered]
\usepackage{amsthm,amsmath,graphicx,color}
\usepackage{tikz}
\PassOptionsToPackage{naturalnames}{hyperref}
\usepackage[inactive,blur=0.6, fixcolor]{fancytooltips}
\begin{document}
\FancyHook % Redefines \ref and \eqref commands to work with preview. See manual by running texdoc fancytooltips in your terminal
\title{A sample beamer presentation}
\author{Shuhao Cao}
\begin{frame}
\maketitle
\end{frame}
\begin{frame}
\begin{theorem}[Argument Principle]
If $f(z)$ is a meromorphic function inside and on some closed contour $C$, and $f$ has no zeros or poles on $C$, then
\begin{equation}
\label{eq:1}
\oint \frac{f'(z)}{f(z)} dz = 2\pi i(N-P)
\end{equation}
\end{theorem}
\end{frame}
\begin{frame}
$N$ and $P$ of Equation \eqref{eq:1} denote respectively the number of zeros and poles of $f(z)$ inside the contour $C$, with each zero and pole counted as many times as its multiplicity, respectively order, indicates.
\end{frame}
\end{document}
将其另存为文件,例如myfile.tex
现在,在您的终端中,cd
转到您的工作目录。为了使工具提示起作用,您必须使用捆绑脚本。您还必须下载Acrotex Education Bundle
。要手动安装所需的软件包,您可以从作者的网站eforms
下载:insdljs
http://www.math.uakron.edu/~dpstory/webeq.html。
现在,在你的终端中运行
bash fancy-preview myfile
不要包含.tex
文件扩展名。
您还可以使用该选项mouseover
,这样只需将鼠标悬停在参考上即可弹出等式。
输出
顺便说一句,这只适用于 Adobe Reader。
适用于 2012/06/12 发布的 1.12 版本
MiKTeX 用户还可看到Speravir 的答案。
选项preview
替代fancytooltips
了命令\FancyHook
。您可以尝试以下代码。脚本fancy-preview
现在是一个 Perl 文件。仍然需要 AcroTeX 包(见上文)。
%For fancyequations version 1.12
\documentclass[10pt]{beamer}
\usetheme{EastLansing}
\setbeamertemplate{theorems}[numbered]
\usepackage{amsthm,amsmath,graphicx,color}
\usepackage{tikz}
\usepackage{hyperref}
\usepackage[inactive,mouseover,blur=0.6, fixcolor,preview]{fancytooltips}
\begin{document}
%\FancyHook % Redefines \ref and \eqref commands to work with preview. See manual by running texdoc fancytooltips in your terminal
\title{A sample beamer presentation}
\author{Shuhao Cao}
\begin{frame}
\maketitle
\end{frame}
\begin{frame}
\begin{theorem}[Argument Principle]
If $f(z)$ is a meromorphic function inside and on some closed contour $C$, and $f$ has no zeros or poles on $C$, then
\begin{equation}
\label{eq:1}
\oint \frac{f'(z)}{f(z)} dz = 2\pi i(N-P)
\end{equation}
\end{theorem}
\end{frame}
\begin{frame}
$N$ and $P$ of Equation \eqref{eq:1} denote respectively the number of zeros and poles of $f(z)$ inside the contour $C$, with each zero and pole counted as many times as its multiplicity, respectively order, indicates.
\end{frame}
\end{document}
在我的计算机上用 编译会中断,bash fancy-preview myfile
但用 编译可以正常进行perl fancy-preview myfile
。
这是最新版本的屏幕截图。
答案2
这被认为是hpesoj626 的回答对于 MiKTeX 用户:
正如前面提到的,你需要安装 Perl 发行版,请参阅我的回答MiKTeX 和 Perl 脚本(以及一个 Python 脚本)
Config::IniFiles
。遗憾的是,您必须另外手动安装模块:
在 Strawberry Perl 中,您进入命令行工具“CPAN Client”(可通过开始菜单访问)并执行upgrade Config::IniFiles
(字母大小写有关!)。如果准备就绪,q按 退出工具。
在 ActivePerl 中,不幸的是,它更复杂:打开 Perl 包管理器(在开始菜单中找到),通过单击工具栏中的灰色框或菜单“查看”中的相应点(或右侧键盘快捷键)激活所有包的视图。然后搜索Config-IniFiles
(用-
而不是双冒号)并标记它。之后按下键或标记带有此符号的框,最后通过单击工具栏中的绿色箭头或使用键++开始安装。使用常规方法退出(键盘快捷键是+ )。CtrlEnterCtrlq“AcroteX” 软件包仅预安装在满的MiKTeX 安装。如果您选择基本安装,则需要使用 MiKTeX 包管理器手动安装此软件包。
对于接下来的步骤,你需要一个本地 texmf 树,如果你还没有创建一个,请参阅在 MiKTeX 中创建本地 texmf 树。
此软件包
fancytooltips
需要软件包ocg
。它是 的一部分asymptote
,这既不是基本 MiKTeX 的一部分,也不能使用软件包管理器安装。最好的方法是安装整个asymptote
软件包,但如果您确实确定只需要ocg
,我在这里为您提供解决方案:下载http://mirror.ctan.org/graphics/asymptote/doc/ocg.sty并将其放在最近创建的路径中<localtexmf>\tex\latex\asymptote\
。更新:自 2012 年 12 月 5 日 MiKTeX 更新以来,你可以(或许应该)使用新包
ocg-p
。文档中的引用:重要提示:如果使用了使用原始
ocg
包的包,则应ocg-p
在这些包之后加载。在这种情况下,包ocg
中的环境将被替换。ocg
有关 Asymptote 的完整安装,请参阅将 Asymptote 与 MiKTeX 结合使用。
无扩展名的 perl 文件
fancy-preview
也必须从其他资源安装。您可以从开发人员的网站下载http://user.mendelu.cz/marik/fancy-preview/(滚动到最后的“安装”)。将其放入<localtexmf>\scripts\fancytooltips\
。现在在 中创建一个空文件
<localtexmf>\bin\
。您可以根据需要为其命名,只要扩展名是.bat
或.cmd
即可,但最好是给它起一个与 perl 名称相同的名称,就像我在这里所做的那样。复制以下内容并粘贴到
fancy-preview.bat
:@echo off SETLOCAL SET FPrevBAT=%~dp0 SET FPrevPATH=%FPrevBAT:~0,-5%\scripts\fancytooltips perl %FPrevPATH%\fancy-preview %*
两点说明:首先,当您在记事本或写字板中保存文件时,请确保没有自动附加 TXT 扩展名 – 使用双引号保存文件名:
"fancy-preview.bat"
。其次,这仅适用于我提供的这些路径。
在 MiKTeX 中刷新文件名数据库 (FNDB) 后,您可以尝试 hpesoj626 的回答中显示的示例:在您的工作目录中从 Windows 命令提示符执行fancy-preview <example>
,注意执行没有任何前缀perl
。