【问题标题】:How can I include a PNG file as a numbered table in Rmarkdown?如何在 Rmarkdown 中将 PNG 文件包含为编号表?
【发布时间】:2025-12-17 14:25:04
【问题描述】:

我有一个由外部程序生成为 PNG(或 PDF)图像的表格,我想将其作为编号表格包含在我的 Rmarkdown / Bookdown 文档中。表格过于复杂,无法直接使用 kable 或 FlexTable 等生成。

我现在有

```{r table24, tidy=FALSE, echo=FALSE} 
kable(c(),caption="My table.")  
knitr::include_graphics("images/my-table.png") 
```

这适用于 HTML 和 DOC 输出,但不适用于 PDF(图像通过,但未列为表格)。

网上有在表格中包含图片的例子,但这里的图片就是表格。

请问有更好的解决方案吗?

【问题讨论】:

    标签: r r-markdown pandoc kable


    【解决方案1】:

    你可以用 LaTeX 做到这一点:

    ---
    title: "Table"
    header-includes:
    - \usepackage {caption}
    output:
      pdf_document
    ---
    
    \begin{table}[hbtp]
    \centering
    \caption{Big table which I have}  
    \includegraphics{your_table.png}
    \caption*{Put comments here if you want}
    \end{table}
    

    P.S.:这里有一些有用的参数,对你以后的工作也有帮助:

    \includegraphics[width=1cm, height=1cm, angle = 10, keepaspectratio]{your_pic.png}
    

    【讨论】:

    • 谢谢。有没有办法在 Rmarkdown 中通用地做到这一点,支持 HTML、PDF 和 doc 输出?或者,是否有一种机制可以有条件地包含内容,即如果 PDF 执行此操作,ELSE IF HTML 执行此操作?
    • @Rob 您可以在降价中使用这两个代码块。当您将编织成 PDF 时 - 使用我的变体,当您将编织到 html/doc 时 - 使用您的。我看没有问题。为什么要生成冗余代码?附言如果我对你有帮助,你可以通过打勾来接受我的回答。谢谢;)
    【解决方案2】:

    你可以这样做

    ![caption](relative_path)
    

    【讨论】:

    • 这仅包括带字幕的图像。它不会使它成为一个编号表。