【问题标题】:Image position in R MarkdownR Markdown 中的图像位置
【发布时间】:2019-01-06 00:26:07
【问题描述】:

我想在 R Markdown 报告中插入一张图片,所以我使用了这个:

![Uniform Crossover](C:\Users\Miguel Prada\OneDrive\Documentos\Estudio\Invest UPM\ProjectANN\reports\crossover.png)

这可行,但图像位于页面顶部,而不是我编写代码的地方。 有谁知道为什么会这样? 谢谢

【问题讨论】:

  • 你是渲染成html、pdf还是word?
  • 嗨,理查德。我正在将它编织成 Pdf
  • 尝试knitr::include_graphics + 使用fig.xxx 块选项yihui.name/knitr/options/#plots
  • 如果您查看有关 LaTeX 如何处理图形/图片/表格放置的其他讨论,您会发现它有自己的想法,默认位于段落后面的页面顶部它是“锚定”的。有一些方法可以覆盖这一点,也许knitrfig.pos 可以提供帮助,您可以鼓励 LaTeX 的优化引擎向不同的方向倾斜。因此,既然您正在制作 PDF,请扩展您的学习以了解其对 \begin{figure}[fig.pos] 的使用。
  • 绅士,感谢您的有用回答。成功了

标签: r rstudio markdown reporting


【解决方案1】:

截至 2019 年,也许最好的解决方案是为您的 Rmd 文件制作一个 Latex 前导码,如 here 所述。换句话说:

在您的工作目录中保存以下 preamble.tex 文件:

\usepackage{float}
\let\origfigure\figure
\let\endorigfigure\endfigure
\renewenvironment{figure}[1][2] {
    \expandafter\origfigure\expandafter[H]
} {
    \endorigfigure
}

注意"H" tells the image to go where you insert it.然后在 Rmd 文件的 YAML 标头中调用 preamble.tex:

---
title: "example"
author: "you"
date: "`r format(Sys.time(), '%d %B %Y')`"
output:
  rmarkdown::pdf_document:
    fig_caption: yes        
    includes:  
      in_header: preamble.tex
---

![Uniform Crossover](C:\Users\Miguel Prada\OneDrive\Documentos\Estudio\Invest UPM\ProjectANN\reports\crossover.png)

【讨论】:

    【解决方案2】:

    来自 cmets 的回复

    来自@tung

    尝试knitr::include_graphics + 使用fig.xxx 块选项并在options/#plots 中查看更多信息

    来自@r2evans

    如果您查看有关 LaTeX 如何处理 figure/picture/table 放置的其他讨论,您会发现它有自己的想法,默认位于以下页面的顶部它是“anchored”的段落。

    有一些方法可以覆盖这一点,也许knitr 可以提供帮助,您可以鼓励 LaTeX 的优化引擎向不同的方向倾斜。因此,既然您正在制作 PDF,请扩展您的学习以了解其对 \begin{figure}[fig.pos] 的使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      • 2020-11-24
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多