Rmarkdown图像跳过文本

时间:2015-12-08 00:19:51

标签: r latex knitr r-markdown

我正在整理一份带有以下YAML设置的Rmarkdown PDF文档:

---
output: 
  pdf_document:
    fig_caption: true 
    fig_crop: true
    toc_depth: 3
  header-includes:
  - \usepackage{hyperref}
 ---

在文档正文中,我使用以下语法插入了一些PNG图像

Paragraph 1..........

![Caption](path/image.png)

Paragraph 2....

在呈现文档时,图像在文本中按预期显示在Paragraph 1Paragraph 2之间。但是,我得到了一些不可预知的结果,在某些情况下,渲染的图像出现在Paragraph 2之后,我无法设法解决它。

6 个答案:

答案 0 :(得分:4)

在处理类似问题时,我已使用\FloatBarrier(来自placeins包)来控制定位。我不是经验最丰富的knitr rmarkdown LaTeX用户,但我之前已经取得了成功。

基本上,图像"浮动&#34 ;;您可以通过插入障碍物来控制可以浮过的东西。这种描述很粗糙,但您可能会发现该技术有效。

答案 1 :(得分:3)

我遇到了同样的问题。如果您将图像包装在“段落”标签中,则图像将与文本一致。

Paragraph 1...

<p>
![](image.png)
</p>

Paragraph 2...

答案 2 :(得分:1)

&nbsp;将插入垂直空格

要保留图形标题,请确保Rmarkdown文档中的[[]仍在单独的段落中(由上方和下方的空白行分隔)

### Heading 1 ![This is my figure caption](`r fig_var`){width=400px} 

&nbsp;

### Heading 2

其中fig_var是一个r变量,其中包含图形图像的完整路径

答案 3 :(得分:0)

一个选项是添加

\newpage

以与Floatbarrier类似的方式行事。这不是优雅,但似乎有效。

为了更加清晰,请考虑上面的例子:

Paragraph 1..........

![Caption](path/image.png)

Paragraph 2....

要避免图像在第二段前面移动,您可以执行以下操作:

Paragraph 1..........

![Caption](path/image.png)

\newpage

Paragraph 2....

答案 4 :(得分:0)

对此没有正确答案。

  1. 尝试添加fig.show='hold'来将图像保留在应有的位置
  2. 可能会跳过这些段落,因为Latex会尝试使用最小的空间来容纳文本/图像。

我使用(1)整理了问题,然后使用(2)进行“处理” \pagebreak的位置取决于第1段和第2段之前和之后的内容。

只有在看到pdf结果之后,才可以通过使所讨论的图像更好地适合可能的下一页(更多空间)来完成此操作。当然,这也意味着将分页符添加到其他位置(例如,在p1,p2或图像之前或之后)。

答案 5 :(得分:0)

\ newline似乎有效。

R的历史和概述

![R programming](Images/R.PNG)\newline

enter image description here