是否有一种方便的方法来提取并加载到knitr
和latex
在PDF文档中创建的数据列表?
我的PDF有很多数字;他们非常需要被跟踪和组织,这些数字列表有助于做到这一点。但是在R中使用List会有很多方面的帮助。
从PDF中截取列表,将其粘贴到Excel中,并使用该工作表是一条艰巨的路线,但如果可以找到数据列表并直接加载它(或多或少),它会更快更顺畅进入R.编织过程创建了许多文件,也许列表潜伏在其中一个文件中?
这是一个小例子,只是为了创建一个借用a question on hiding captions here
的数据列表\documentclass{article}
\usepackage{graphicx}
\setcounter{topnumber}{3}% Just for this example
\begin{document}
\listoffigures
\begin{figure}
\addcontentsline{lof}{figure}{Example image A}%
\centering
\includegraphics[height=4\baselineskip]{example-image-a}
Example image A
\end{figure}
\begin{figure}
\addcontentsline{lof}{figure}{\protect\numberline{}Example image B}%
\centering
\includegraphics[height=4\baselineskip]{example-image-b}
Example image B
\end{figure}
\begin{figure}
\centering
\includegraphics[height=4\baselineskip]{example-image-c}
\caption{Example image C}
\end{figure}
\end{document}
答案 0 :(得分:1)
由于不需要页码,只需从每个块中保存fig.cap
即可。
这可以使用一个块挂钩来完成,该挂钩将options$fig.cap
保存在全局变量中,并在编织过程结束时将此变量保存到文件中。
\documentclass{article}
\begin{document}
<<setup>>=
library(knitr)
figureCaptions <- c()
knit_hooks$set(listit = function(before, options, envir) {
if (!before) figureCaptions <<- c(figureCaptions, options$fig.cap)
})
<<fig.cap = "First one", listit = TRUE>>=
plot(1)
@
<<fig.cap = "Second one", listit = TRUE>>=
plot(rnorm(10))
@
<<final>>=
save(figureCaptions, file = "figureCaptions.RData")
@
\end{document}
仅在评估了块(if (!before)
)之后保存标题应该更好,以避免eval.after出现问题。
要在之后访问字幕,请使用load("figureCaptions.RData")
。