我已经创建了一个 R 包,我想将文档作为附录包含在我的论文文档中。为了创建 latex 文件,我做了以下操作(我部分地包括了这一点,以便其他人更容易使用)。
Rd2pdf "path to my package folder" --no-clean
使用 no-clean 选项来确保临时 latex 文件不会被删除。这些 late 文件存储在隐藏的“Rd2pdf”文件夹中,与 pdf 的保存路径相同(在 Linux ubuntu 上,这是主文件夹)。
但是,让 latex 文件与我的 latex 文档集成起来却很困难。Rd2pdf latex 文件依赖于我找不到的 Rd.sty 文件。我不知道即使我能找到 Rd.sty,它是否会弄乱文档其余部分的格式。
我可以使用哪些方法将 Rd2pdf latex 文件集成到我更大的 latex 文档中,同时尽量减少对原始文档造成的问题。理想情况下,我不会仅仅使用\usepackage{pdfpages}
和将其作为 pdf 包含,\includepdf[pages=-]{myfile.pdf}
但作为最后的手段。
答案1
您没有指定论文文档的设置(哪个文档类、附录如何制作等),因此很难说您的确切设置是否存在兼容性问题。
但是,使用常规文档类,通过从 Rd2pdf 的输出中删除一些内容,将文档与 R 文档结合起来并不太困难。
作为示例,我load.Rd
从教程中获取了以下文件https://colinfay.me/writing-r-extensions/writing-r-documentation-files.html。这将产生以下.tex
文件(仅显示顶部):
\documentclass[letterpaper]{book}
\usepackage[times,inconsolata,hyper]{Rd}
\usepackage{makeidx}
\usepackage[utf8,latin1]{inputenc}
% \usepackage{graphicx} % @USE GRAPHICX@
\makeindex{}
\begin{document}
\chapter*{}
\begin{center}
{\textbf{\huge \R{} documentation}} \par\bigskip{{\Large of \file{load.Rd}}}
\par\bigskip{\large \today}
\end{center}
\inputencoding{utf8}
\HeaderA{load}{Reload Saved Datasets}{load}
\keyword{file}{load}
% etc.
您需要从此文件中删除文档结构(\documentclass
、\begin{document}
、\end{document}
)。然后将包复制到主文档中。主包(\usepackage{Rd}
)具有可更改文档外观的字体选项,可以将其删除(times
和inconsolata
)。基本上就是这样,然后您只需将生成的文件的其余部分复制.tex
到您自己的文档中即可。
假设您有以下主要文档:
\documentclass{report}
\usepackage[titletoc]{appendix}
\begin{document}
\tableofcontents
\chapter{Lorem ipsum}
\section{Dolor sit amet}
\begin{appendices}
\chapter*{Appendix: documentation}
\end{appendices}
\end{document}
那么完整文件就变成如下形式:
\documentclass{report}
\usepackage[titletoc]{appendix}
% following two packages are copied from the generated .tex file
\usepackage[hyper]{Rd}
\usepackage{inputenc}
\begin{document}
\tableofcontents
\chapter{Lorem ipsum}
\section{Dolor sit amet}
\begin{appendices}
\chapter*{Appendix: documentation}
% content from the generated file starts here
\begin{center}
{\textbf{\huge \R{} documentation}} \par\bigskip{{\Large of \file{load.Rd}}}
\par\bigskip{\large \today}
\end{center}
\inputencoding{utf8}
\HeaderA{load}{Reload Saved Datasets}{load}
\keyword{file}{load}
% etc.
附录开始页面的截图:
请注意,该Rd.sty
文件位于 LaTeX 的搜索路径中(否则 Rd2pdf 将无法成功)。因此,您无需自己找到它或将其放在任何特定目录中。但是,如果您想知道它在哪里,您可以kpsewhich Rd.sty
在终端中使用,它将返回路径。