交互式 PDF、Latex 和未来文章

交互式 PDF、Latex 和未来文章

被影响Elsevier 的未来文章和这个博客文章有人使用 Apple 的 iAuthor 撰写文章并获得许多功能(单击参考文献会显示一个带有给定参考文献的气球,或先前的定义和定理等...)。

我知道 acrotex 的存在,以及它提供的许多超引用功能、测验等,但是这些“浮动气球”之类的东西可以用 latex 在 pdf 中实现吗?这将会很有趣,因为拥有一个免费的 Apple 软件替代品总是一个好主意。

答案1

笔记:即将推出的 0.5 版本ocgx 包用途ocg-p 软件包(而不是ocg.sty来自 Asymptote 的文档)。

这是一个非常简单的例子,使用ocgx 包和 TikZ。如果您的 PDF 查看器与 OCG 兼容(例如 Adob​​e 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而参考书目则来自biblatexbiblatex-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"

要使用 的四个预定义中的任何一个tooltipmarksfancytooltips您可以使用--fancy_options="previewall,tooltipmark=1,其中您可以用12,3替换4

缺点

  1. 您只能使用AcrobatAdobe Reader因为其他 pdf 阅读器evince没有 javascript 功能。
  2. 文件已变得臃肿。
  3. 根据tooltipmarks手册fancytooltips可以扰乱文本并且我同意。
  4. 鼠标悬停效果有时会很烦人,尤其是当您无意中将鼠标悬停在 上时tooltipmark
  5. 正如 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 或其他标记保持在最低限度。

相关内容