【问题标题】:Adding a table of contents to PDF with R plots使用 R 图将目录添加到 PDF
【发布时间】:2011-10-13 13:21:17
【问题描述】:

我正在 R 中创建大量绘图并将它们保存为 PDF(使用 grDevices / pdf)。是否有一种简单的方法可以在创建 PDF 时向其添加(元数据)目录?

我并不是要添加单独的页面,而是要添加一个 TOC,像 Preview.app 这样的 PDF 查看器会在侧边栏中显示以使导航更容易。)

此类目录的示例:

【问题讨论】:

  • 我认为在扩展 pdf 设备的包中包含这样的东西将是一个非常有趣和有用的想法 - 但我不知道这是否简单。

标签: r pdf


【解决方案1】:

我知道的唯一方法是使用 LaTeX,但您不一定需要 Sweave;也许你可以直接用你的 RPython 代码生成 LaTeX 文件。如果您有两张 6x6(默认大小)的图片,分别命名为 tmp-001.pdftmp-002.pdf,这就是您如何创建一个名为 Section A 的部分,并为这两张图片设置两个子部分。

\documentclass{article}
\usepackage[paperwidth=6in, paperheight=6in, margin=0in]{geometry}
\usepackage{hyperref}
\usepackage{graphicx}
\parindent 0pt
\begin{document}
\pdfbookmark[1]{Section A}{anchorname_aa}

\pdfbookmark[2]{plot aa}{anchorname_aa}
\includegraphics{tmp-001.pdf}

\newpage
\pdfbookmark[2]{plot bb}{anchorname_bb}
\includegraphics{tmp-002.pdf}

\end{document}

【讨论】:

  • 假设您有一个 8 页的 Rplots.pdf。所以我想就做\includegraphics[page=3]{Rplots.pdf}吧。
  • 为什么您的图形不在图形环境中? - - 你的执行引擎是什么? - - 我无法使用 pdflatex 在我的系统中运行您的代码。
  • 是的,[page=X] 有效。我没有在图形环境中使用它们,因为我们不想要添加的额外内容,我们只希望页面上的图形保持原样。我在我的系统上重新运行了文档,一切都还好。你得到什么错误?
  • 好的,我知道了。然后我的错误出现在 Figure 类中。 - - 这是我没有图形类 paste.ubuntu.com/23421878 的代码,我无法将 Rplot 图像调整到您在 Beamer 中的示例中。
  • 你显然在尝试做一些不同的事情。为什么要使用 beamer 类?我建议开始一个新问题。
【解决方案2】:

您可以使用对象或绘图的名称作为列中文本的参数来创建第一页。

plot(1:10,1:10, type="n", main ="Index", axes=FALSE,frame.plot=FALSE,xlab="")

text(1,10, "plot")
text(3,10, "page")
text(5,1:10, rev(1:10+1))
text(2,1:10, rev(letters[1:10]))

我想不出生成可导航 TOC 的方法,但此选项可能更令人愉悦且更易于与 Beamer 型显示器集成。 Hmisc 包函数 latex 提供了到 Latex longtable 包的接口。我的 Latex-fu 很弱,但如果你的更强,你也可以转移为集成到其他应用程序中而创建的 dvi 代码。我将一个中间 dvi 文件放在一个临时目录中,然后打开我的 dvi 查看器并允许保存为 pdf:

require(Hmisc)
?latex  # you will probably want to review this
latex(Plot_list<-data.frame(Plots=letters[1:10], Pages=2:11))

【讨论】:

  • 您好 DWin,感谢您的回答。然而,我并不是说一个单独的页面(除非我可以点击那里进行导航)。我已更新问题以使其更清晰。
【解决方案3】:

据我所知没有。我认为您必须为此使用 sweave。

【讨论】:

  • 嗯......这太糟糕了。更糟糕的是,我使用 RPython 和一些循环来生成绘图。但也许我可以在最后添加一个带有一些链接的页面,我会检查一下。
猜你喜欢
  • 2016-08-22
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
  • 1970-01-01
  • 2013-04-17
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
相关资源
最近更新 更多