生成 pdf 内容流(又名使用 **zoombox** 功能)

生成 pdf 内容流(又名使用 **zoombox** 功能)

我确信此功能的名称完全不同,但我在 arxiv 中看到一些最近的 pdf,它们似乎包含有关 pdf 布局的信息,这样当我们单击双列纸张时,它会缩放到适当的内容,如下图所示。 该图显示了 pdfviewer 依次缩放的各部分 这个功能到底叫什么?如果有帮助的话,我在漫威的数字漫画中看到过类似的东西,它们按顺序缩放面板。如果有人能告诉我如何在 acrobat 或类似程序中手动实现这一点,那将很有帮助。

答案1

这是一个 pdfLaTeX 解决方案。它定义了两个命令。

\zoomnext[<dotted line width>]{<ID>}{<next ID>}{<box content>}

以两个任意 ID 作为参数。第一个 ID 标记当前框,第二个 ID 指定要缩放到的下一个框。此外,它将当前框的框内容作为最后一个参数。在 pdf 查看器中,框周围可能会打印一条淡淡的虚线。第一个可选参数(整数)指定虚线宽度。

第二条命令

\firstzoom{<ID>}

设置页面打开时要缩放的第一个框。

框被放大到仍然适合查看器窗口的最大尺寸。

代码示例生成五个循环链接的框。文档或页面打开时,pdf 查看器会缩放至框b1

\documentclass{article}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newsavebox\zbox
\newcommand{\zoomnext}[4][0]{% [#1] dotted line width (optional)
                             % #2 this ID,
                             % #3 next ID,
                             % #4 box content
  \leavevmode%
  \sbox\zbox{#4}%
  \pdfdest name {zb_#2} fitr
    width  \the\wd\zbox\space
    height \the\ht\zbox\space
    depth  \the\dp\zbox\space
  \pdfannot
    width  \the\wd\zbox\space
    height \the\ht\zbox\space
    depth  \the\dp\zbox\space
  {%
    /Subtype/Link/H/N
    /Border [0 0 #1 [1 2]]
    /A <</S/GoTo/D (zb_#3)>>
  }%
  \usebox{\zbox}%
}
\newcommand{\firstzoom}[1]{%
  \pdfannot width 0pt height 0pt depth  0pt
  {%
    /Subtype/Widget
    /AA <</PO <</S/GoTo/D (zb_#1)>>>>
  }%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\section{Zoombox test}\firstzoom{b1}

\begin{center}
\zoomnext[1]{b1}{b2}{\framebox[0.4\linewidth][c]{Box 1}}
\end{center}
\vspace{20ex}
\begin{minipage}{0.5\linewidth}
\centering
\zoomnext[1]{b2}{b3}{\framebox[0.9\linewidth][c]{Box 2}}\\[20ex]
\zoomnext[1]{b3}{b4}{\framebox[0.9\linewidth][c]{Box 3}}
\end{minipage}%
\begin{minipage}{0.5\linewidth}
\centering
\zoomnext[1]{b4}{b5}{\framebox[0.9\linewidth][c]{Box 4}}\\[20ex]
\zoomnext[1]{b5}{b1}{\framebox[0.9\linewidth][c]{Box 5}}
\end{minipage}%

\end{document}

在此处输入图片描述

相关内容