![交互式 PDF、Latex 和未来文章](https://linux22.com/image/259175/%E4%BA%A4%E4%BA%92%E5%BC%8F%20PDF%E3%80%81Latex%20%E5%92%8C%E6%9C%AA%E6%9D%A5%E6%96%87%E7%AB%A0.png)
被影响Elsevier 的未来文章和这个博客文章有人使用 Apple 的 iAuthor 撰写文章并获得许多功能(单击参考文献会显示一个带有给定参考文献的气球,或先前的定义和定理等...)。
我知道 acrotex 的存在,以及它提供的许多超引用功能、测验等,但是这些“浮动气球”之类的东西可以用 latex 在 pdf 中实现吗?这将会很有趣,因为拥有一个免费的 Apple 软件替代品总是一个好主意。
答案1
笔记:即将推出的 0.5 版本ocgx 包用途ocg-p 软件包(而不是ocg.sty
来自 Asymptote 的文档)。
这是一个非常简单的例子,使用ocgx 包和 TikZ。如果您的 PDF 查看器与 OCG 兼容(例如 Adobe Reader、Foxit Reader、Evince……),您可以单击公式来显示其名称。
(注意:此示例需要两次编译。)
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes.callouts}
\usetikzlibrary{ocgx}
\newcommand{\tikzmark}[1]%
{\tikz[overlay,baseline,remember picture]\coordinate(#1);}
\begin{document}
\begin{frame}
\switchocg{mee}{$E = mc^2$}\tikzmark{mee}
\begin{tikzpicture}[overlay,remember picture]
\begin{scope}[ocg={ref=mee,status=invisible,name=Mass Energy Equivalence}]
\node[rectangle callout,callout absolute pointer=(mee),fill=orange]
at ([shift={(+3,+1)}]mee) {Mass Energy Equivalence};
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}
答案2
我不知道您是否正在寻找一种纯粹的LaTeX
方法。如果这就是您想要的,那么 Paul Gaborit 的软件包似乎ocgx
是可行的方法。但是您将问题标记为acrotex
使用 javascript 来启用其鼠标悬停功能。acrotex
也有鼠标悬停功能。在beamer 中的鼠标悬停事件:将鼠标悬停在 \eqref 上,会弹出包含原始方程的注释我使用了fancytooltips
也使用了acrotex
。
看看pdf
你链接到的,似乎还实现了一些 javascript 魔法。我的回答和 Speravir 的补充回答鼠标移到在这种情况下将大有帮助。开发人员的网站还提供了很多示例:http://user.mendelu.cz/marik/fancy-preview/。
这是一篇示例文章。(抱歉,内容和参考书目中的主题不一致:)
。我使用了不同的来源——数学来自http://en.wikipedia.org/wiki/Argument_principle而参考书目则来自biblatex
的biblatex-examples.bib
。(我很懒,但几乎以此为荣)。
通读鼠标移到有关在不同平台上编译代码的解释。
% myfile1.tex
\documentclass[10pt]{article}
\usepackage{amsmath}
\usepackage[backend=bibtex]{biblatex}
\usepackage{hyperref}
\newtheorem{theorem}{Theorem}
\addbibresource{biblatex-examples.bib}
\begin{document}
This is an example of a citation \parencite{markey,westfahl:space,aksin}.
Here is a theorem.
\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}
$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.
\printbibliography.
\end{document}
我在终端中使用以下方法编译了这个
perl fancy-preview myfile1 --fancy_options="previewall,nosoap"
previewall
即使所引用的链接位于同一页面上,该选项也会启用鼠标悬停弹出窗口。我在这里使用它只是为了举例,但我个人认为,当人们已经可以看到同一页面上的方程式时,启用方程式的鼠标悬停功能是没有意义的。默认nosoap
情况下,会删除链接顶部的肥皂形状的图形(工具提示标记)。
这是输出。
要启用tooltipmarks
,请使用
perl fancy-preview myfile1 --fancy_options="previewall"
要使用 的四个预定义中的任何一个tooltipmarks
,fancytooltips
您可以使用--fancy_options="previewall,tooltipmark=1
,其中您可以用1
或2,3
替换4
。
缺点
- 您只能使用
Acrobat
或Adobe Reader
因为其他 pdf 阅读器evince
没有 javascript 功能。 - 文件已变得臃肿。
- 根据
tooltipmarks
手册fancytooltips
可以扰乱文本并且我同意。 - 鼠标悬停效果有时会很烦人,尤其是当您无意中将鼠标悬停在 上时
tooltipmark
。 - 正如 Paul Gaborit 在评论中提醒的那样,的开发者
AcroTex
已从 撤回了该软件包TeXLive
,并且新版本现已商业化。尽管 中包含了 CTAN 提供的旧版本MikTeX
。
答案3
使用 LaTeX 可以编写任何你想要的程序pdf
。你甚至可以让你的文档说话(参见pdfLaTeX 中的 Hello World)。实际上,您是通过 LaTeX 将 JavaScript 写入文件。
然而,我个人认为,一旦你开始谈论以多种不同的格式和媒体呈现信息,你就需要转变思维。例如,我发现更容易开始在浏览器窗口中编写文档(参见LaTeX 标记作为通用标记语言) 并将相同的标记发送到 LaTeX 引擎以生成 pdf。这花了我几个晚上的时间,但比尝试强制 LaTeX 生成我想要的 html 模式要容易得多。
我的建议是:
info - > transformer - > type of presentation
- > htmtransformer - > html
- > voice transformer - > accesible document
- > LaTeX - > beautiful document
请记住,您希望您的文档能够尽可能长时间地保存,因此最好将基本的 LaTeX 或其他标记保持在最低限度。