Use*_*014 5 r knitr r-markdown bookdown
我正在尝试在 R bookdown 项目中添加带有子标题的图形,如下所示
---
output:
pdf_document:
extra_dependencies: "subfig"
---
```{r echo=F, out.width = "50%",fig.showtext=TRUE,fig.show='hold',fig.cap="TITULO"}
par(mfrow=c(1,2))
knitr::include_graphics("ts_mult.png")
knitr::include_graphics("ts_ad.png")
```
Run Code Online (Sandbox Code Playgroud)
我得到以下结果
然后我尝试添加子标题(“imagen a”,“imagen b”),如下所示
```{r echo=F, out.width = "50%",fig.showtext=TRUE,fig.show='hold',fig.cap="TITULO",fig.subcap=c("imagen a", "imagen b")}
par(mfrow=c(1,2))
knitr::include_graphics("ts_mult.png")
knitr::include_graphics("ts_ad.png")
```
Run Code Online (Sandbox Code Playgroud)
但这不起作用,并引发以下错误
! Undefined control sequence.
<recently read> \subfloat
Error: LaTeX failed to compile Tesis_AE.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips.
Run Code Online (Sandbox Code Playgroud)
如何正确添加子标题?
您只需添加fig.subcap=c("A subtitle","Another subtitle")块即可。
至少在我的环境中,这fig.showtext=TRUE是不必要的,而且这会导致错误:Error in loadNamespace(name) : there is no package called \'showtext\' Calls: <Anonymous> ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart Execution halted。这就是为什么我在答案中排除了该设置。
---\noutput:\n pdf_document:\n extra_dependencies: "subfig"\n keep_tex: yes\n---\n \n```{r echo=F, out.width = "50%",fig.show=\'hold\',fig.cap="TITULO", fig.subcap=c("Subtitulo1","Subtitulo2")}\npar(mfrow=c(1,2))\nknitr::include_graphics("your-path-to/image1.png") \nknitr::include_graphics("your-path-to/image2.png") \n```\nRun Code Online (Sandbox Code Playgroud)\n会议信息
\n> sessionInfo()\nR version 4.0.2 (2020-06-22)\nPlatform: x86_64-w64-mingw32/x64 (64-bit)\nRunning under: Windows 10 x64 (build 18362)\n\nMatrix products: default\n\nlocale:\n[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Japan.932 LC_MONETARY=Japanese_Japan.932\n[4] LC_NUMERIC=C LC_TIME=Japanese_Japan.932 \n\nattached base packages:\n[1] stats graphics grDevices utils datasets methods base \n\nloaded via a namespace (and not attached):\n[1] compiler_4.0.2 tools_4.0.2 \n\n> rmarkdown::pandoc_version()\n[1] \xe2\x80\x982.7.3\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n