在R Markdown中,我想要一个带有R Markdown原生引文样式[@ref]
的链接引文的人物标题。但是,当我将最后的[@hawking_thermodynamics_1983]
代码段插入标题时,它只会引发错误:
! Missing $ inserted.
<inserted text>
$
l.94 ...iontextfoo [@hawking_thermodynamics_1983]}
pandoc.exe: Error producing PDF
Error: pandoc document conversion failed with error 43
示例:
这是我的代码:
---
title: "Untitled"
author: "Author"
output: pdf_document
# bibliography: bibliography.bib
references:
- id: hawking_thermodynamics_1983
author:
- family: Hawking
given: S. W.
- family: Page
given: Don. N.
publisher: Communications in Mathematical Physics
title: Thermodynamics of Black Holes in Anti-de Sitter Space.
volume: 87
type: article-journal
issued:
year: 1983
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
\begin{figure}[h]
\centering
\includegraphics[width=13cm]{example.jpg}
\caption{Captiontextfoo}\label{fig1}
\end{figure}
[@hawking_thermodynamics_1983]
# Bibliography
使用此输出:
我希望括号中的引文出现在图标题内,并带有参考书目的工作链接。参考书目应该像往常一样自动出现。
我怎么可能实现这个目标?
备注:
\[@...
或没有括号但是没有用。 \caption{Captiontextfoo \cite{[@hawking_thermodynamics_1983]}}
,但效果不佳,仅显示[?]
。答案 0 :(得分:2)
此问题似乎已解决,可以直接在fig.cap
参数中包含引用:
这是一个最小示例,它在与bib.bib
文件相同的目录中创建一个.Rmd
文件。它还包括使用includes_graphics
的图形:
---
output: pdf_document
bibliography: bib.bib
---
```{r setup, include=FALSE}
knitr::write_bib(x = "rmarkdown", file = "bib.bib")
```
```{r, echo = FALSE, fig.cap = "A plot [@R-rmarkdown]"}
plot(cars)
```
如果这行不通(不能完全确定为什么不行,但有些人似乎对上述内容有疑问),则可以使用文本引用(请参见Section 2.2.4 of the bookdown book)。
(ref:caption) A plot [@R-rmarkdown]
```{r echo=FALSE, fig.cap="(ref:caption)"}
plot(cars)
```
答案 1 :(得分:0)
如果您只生成 pdf 输出,则可以直接使用latex
。这是一个可重复性最小的例子:
@Book{xie2015,
title = {Dynamic Documents with {R} and knitr},
author = {Yihui Xie},
publisher = {Chapman and Hall/CRC},
address = {Boca Raton, Florida},
year = {2015},
edition = {2nd},
note = {ISBN 978-1498716963},
url = {http://yihui.name/knitr/},
}
---
output:
bookdown::pdf_document2:
citation_package: natbib
toc: false
bibliography: biblio.bib
biblio-style: apalike
link-citations: yes
---
```{r nice-fig, fig.cap='Here is a nice figure! \\citep{xie2015}', out.width='80%', fig.asp=.75, fig.align='center', echo=FALSE}
par(mar = c(4, 4, .1, .1))
plot(pressure, type = 'b', pch = 19)
```
产地:
希望在不久的将来rmarkdown
/ pandoc
尘埃落定时,下面的原始解决方案将再次与最新版本一起使用。
如果使用bookdown::pdf_document2
输出格式,则会增强交叉引用功能。如果选择多种输出格式,将图形放在代码块中也可以更容易地输出为 html 。
---
title: "Untitled"
author: "Author"
output: bookdown::pdf_document2
# bibliography: bibliography.bib
references:
- id: hawking_thermodynamics_1983
author:
- family: Hawking
given: S. W.
- family: Page
given: Don. N.
publisher: Communications in Mathematical Physics
title: Thermodynamics of Black Holes in Anti-de Sitter Space.
volume: 87
type: article-journal
issued:
year: 1983
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
# R Markdown
```{r fig1, out.width='13cm', fig.cap='Captiontextfoo [@hawking_thermodynamics_1983]', echo=FALSE}
knitr::include_graphics("example.jpg")
```
# Bibliography
sessionInfo()
# R version 3.4.3 (2017-11-30)
# Platform: x86_64-w64-mingw32/x64 (64-bit)
# Running under: Windows >= 8 x64 (build 9200)
#
# Matrix products: default
#
# locale:
# [1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
# [3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
# [5] LC_TIME=English_Australia.1252
#
# attached base packages:
# [1] stats graphics grDevices utils datasets methods base
#
# loaded via a namespace (and not attached):
# [1] compiler_3.4.3 backports_1.1.2 bookdown_0.5 magrittr_1.5 rprojroot_1.3-1
# [6] htmltools_0.3.6 tools_3.4.3 yaml_2.1.16 Rcpp_0.12.14 stringi_1.1.6
# [11] rmarkdown_1.8 knitr_1.17 stringr_1.2.0 digest_0.6.13 evaluate_0.10.1