我正在尝试将pdf图像插入到r markdown文件中。我知道可以插入jpg或png图像。我只是想知道是否也可以插入PDF图像。非常感谢!
答案 0 :(得分:10)
抱歉,我发现以前有过类似的帖子: Add pdf file in Rmarkdown file
基本上,我可以使用类似下面的内容,适用于html输出:
<img src="myFirstAlignment2.pdf" alt="some text" width="4200" height="4200">
类似下面的内容适用于pdf输出:
(1)可能的解决方案
\begin{center} <br>
\includegraphics[width=8in]{myFirstAlignment2.pdf} <br>
\end{center}
(2)可能的解决方案
![Alt](myFirstAlignment2.pdf)
如果pdf文件不在您的工作目录中,则myFirstAlignment2.pdf
应替换为path\myFirstAlignment2.pdf
。
答案 1 :(得分:6)
如果您只是想将已从某些R分析导出的图像插入pdf图像,则还可以使用knitr引擎中的标准图像选项。
类似:
```{r, out.width="0.3\\linewidth", include=TRUE, fig.align="center", fig.cap=c("your caption"), echo=FALSE}
knitr::include_graphics("./images/imagename.pdf")
```
不幸的是,您无法指定图像输出的初始尺寸(fig.width和fig.height),您需要在初始输出中预先定义这些尺寸,但可以在中指定图像的最终尺寸您的文档(out.width)。但是,如下所述,这仅限于按比例缩小。
如果您的文件位于同一工作目录中,则当然也可以省去初始目录规范。只要注意操作系统在指定映像路径方面的差异即可。
另一种方法是在this post上使用@hermestrismegistus指出的Markdown语法:
![Image Title](./path/to/image.pdf){width=65%}
也可以并排收集多个图像:
![Image Title](./path/to/image.pdf){width=33%}![Image2 Title](./path/to/image2.pdf){width=33%}![Image3 Title](./path/to/image3.pdf){width=33%}
编辑:
在更广泛地使用文本引用之后,我发现使用r块和include_graphics
选项最为有用。也是由于图像对齐(调整)方面的灵活性。
例如:
```{r image-ref-for-in-text, echo = FALSE, message=FALSE, fig.align='center', fig.cap='Some cool caption', out.width='0.75\\linewidth', fig.pos='H'}
knitr::include_graphics("./folder/folder/plot_file_name.pdf")
```
该引用以后可以在文本中使用,例如,图\@ref(fig:image-ref-for-in-text)
说明了等等。
使用此格式需要注意的一些重要事项:
您只能通过代码块将PDF图像扩展到原始out.width
文件中设置的out.height
和.pdf
条件。因此,我建议将它们稍微设置在原始图像的较大一侧(请注意,任何图表文本都将相应缩放)。
文本参考代码(在这种情况下为image-ref-for-in-text
)不能包含任何下划线(_
),但可以包含破折号(-
)。您会收到一条错误消息,指出! Package caption Error: \caption outside float.
要阻止绘图漂移到文档的错误部分,但不幸的是,这种方式会生成一些空白,上面的示例包括fig.pos='H'
。其中H表示“保持”位置。对于前一个Markdown选项,可以通过在最后一个花括号后紧跟一个句号(.
)来实现相同的目的。
示例:
![Image Title](./path/to/image.pdf){width=75%}.
不幸的是,后一种选择会导致一些难看的停止。我更喜欢include_graphics
选项的另一个原因。
答案 2 :(得分:1)
关于最佳答案的评论,有一种方法可以使用第二个选项,并且输出不会很小。
使用以下语法,高度为大数。要使其正常工作,必须在方括号中添加文字。
![Alt](./file.pdf){width=100% height=400}
答案 3 :(得分:1)
在确定pdf大小方面,没有一个概述的答案对我来说效果很好,因此使用out.height和out.width的代码块选项添加另一个答案来控制大小:
bd