【问题标题】:How to make a figure caption in Rmarkdown?如何在 Rmarkdown 中制作图形标题?
【发布时间】:2015-06-26 03:22:41
【问题描述】:

我正在考虑用 rmarkdown 和 Latex 写我的论文。但是,当我尝试将图形(不是 R 图)添加到文本并将其呈现为 pdf 时,我正在了解这一切是如何工作的,标题和文本参考消失了。

这是我用来加图的代码sn-p:

---
title: "Untitled"
output: pdf_document
---

see figure \ref{fig1}.

![picture \label{fig1}](figure1.png)

这是 knitr 创建的:

这是 pandoc 创建的:

问题: 如何在 Rmarkdown 中为渲染为 pdf 时显示的那些图形制作图形标题和文本引用?

我如何告诉 pandoc 什么是 Rmarkdown,以便渲染 R 代码和绘图?

【问题讨论】:

    标签: knitr r-markdown pandoc


    【解决方案1】:

    请参阅 R Markdown 的文档以获取 PDF output,特别是查找 fig_caption。在 R Markdown 中,图形标题默认是关闭的,你必须打开它们 (fig_caption: true)。您也可以通过 RStudio IDE 工具栏上的齿轮按钮找到此设置。

    【讨论】:

    • 非常感谢!我花了一点时间玩,但现在正在工作(我没有意识到 Rmarkdown 在制表符间距方面有多么特别,以使 fig_caption 工作)。
    【解决方案2】:

    更新:请查看https://github.com/yihui/knitr/issues/1063

    问题:如何在 Rmarkdown 中为渲染为 pdf 时将显示的那些图形制作图形标题和文本引用?

    要获得 LaTeX 生成的 PDF 中的交叉引用,您需要多次运行 LaTeX。一些 LaTeX IDE 会为您完成。

    knitr 只运行一次 LaTeX,这就是你只能得到?? 的原因。为了确认这是我遇到的问题

    library(knitr)
    knitr()
    

    在返回的 R 中

    see figure \ref{fig1}.
    
    \begin{figure}[htbp]
    \centering
    \includegraphics{imagem.jpg}
    \caption{picture \label{fig1}}
    \end{figure}
    

    这是一个有效的 LaTeX 代码。

    我如何告诉 pandoc Rmarkdown 是什么,以便渲染 R 代码和绘图?

    Pandoc 只理解 Markdown(不是 RMarkdown)。首先,您必须调用 knitr 从 RMarkdown 生成 Markdown,然后调用 Pandoc 将 Markdown 转换为 LaTeX。

    【讨论】:

      【解决方案3】:

      我刚刚找到了一个非常有用的解决方案here

      首先,包含以下块:

      ```{r functions, include=FALSE}
      # A function for captioning and referencing images
      fig <- local({
          i <- 0
          ref <- list()
          list(
              cap=function(refName, text) {
                  i <<- i + 1
                  ref[[refName]] <<- i
                  paste("Figure ", i, ": ", text, sep="")
              },
              ref=function(refName) {
                  ref[[refName]]
              })
      })
      ``` 
      

      之后,我们可以在图形块选项中添加图形/表格的标题,例如:

      ```{r, fig.cap=paste("Your caption.")}
      
      • 看到fig.cappaste. 配合得更好

      【讨论】:

        猜你喜欢
        • 2019-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-25
        相关资源
        最近更新 更多