无法在有线表格中呈现引文

时间:2019-07-12 19:57:25

标签: r markdown r-markdown bookdown

我无法使用默认的pdf_document或bookdown :: pdf_document2或html_document都无法在电缆表中呈现引用。如下所示,引文中的引号(“)不会

(注意:“ nocite”作为控件存在,.bib中没有任何内容)。 文件“ bib.bib”位于同一目录中,如下所示:

@article{roy2019growth,
  title={Growth pattern and oxygen isotopic systematics of modern freshwater mollusks along an elevation transect: Implications for paleoclimate reconstruction},
  author={Roy, Rupsa and Wang, Yang and Jiang, Shijun},
  journal={Palaeogeography, Palaeoclimatology, Palaeoecology},
  pages={109243},
  year={2019},
  publisher={Elsevier}
}

Reprex代码

---
 output:
    bookdown::pdf_document2
# output: pdf_document
bibliography: bib.bib
---

Citation works, see [@roy2019growth]?


```{r results="asis"}
# using "asis" results
a <- c(1,2)
b <- c("@roy2019growth", "@nocite")
df <- data.frame(a,b)
kableExtra::kable(df)
```


```{r}
# without as is results
kableExtra::kable(df)
```

```{r}
# Try explicit '"' quotes
df <- data.frame(a,b = paste0('"',b,'"'))
kableExtra::kable(df)
```

# My Reference

会话信息

R版本3.5.3(2019-03-11) 平台:i386-w64-mingw32 / i386(32位) 在以下环境中运行:Windows 7 x64(内部版本7601)Service Pack 1

Matrix产品:默认

语言环境: [1] LC_COLLATE =英语_美国.1252 LC_CTYPE =英语_美国.1252 LC_MONETARY =英语_美国.1252 [4] LC_NUMERIC = C LC_TIME = English_United States.1252

附带的基本软件包: [1]统计图形grDevices utils数据集方法基础

其他附件包: [1] kableExtra_1.0.1

通过名称空间(未附加)加载:  [1] Rcpp_1.0.1 rstudioapi_0.10 knitr_1.23 xml2_1.2.0 magrittr_1.5 hms_0.4.2
 [7] rvest_0.3.4 munsell_0.5.0 viridisLite_0.3.0 colorspace_1.4-1 R6_2.4.0 rlang_0.4.0
[13] highr_0.8 stringr_1.4.0 httr_1.4.0 tools_3.5.3 webshot_0.5.1 xfun_0.8
[19] htmltools_0.3.6 yaml_2.2.0摘要_0.6.20 tibble_2.1.3 bookdown_0.9 crayon_1.3.4
[25] readr_1.3.1胶_1.3.1评估_0.14 rmarkdown_1.14 stringi_1.4.3编译器_3.5.3
[31]支柱_1.4.2秤_1.0.0 pkgconfig_2.0.2

从.rmd渲染.md会产生理想的输出

Citation works, see (Roy, Wang, and Jiang 2019)?

    # using "asis" results
    a <- c(1,2)
    b <- c("@roy2019growth", "@nocite")
    df <- data.frame(a,b)
    kableExtra::kable(df)

<table>
<thead>
<tr>
<th style="text-align:right;">
a
</th>
<th style="text-align:left;">
b
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;">
1
</td>
<td style="text-align:left;">
Roy, Wang, and Jiang (2019)
</td>
</tr>
<tr>
<td style="text-align:right;">
2
</td>
<td style="text-align:left;">
(<span class="citeproc-not-found"
data-reference-id="nocite">**???**</span>)
</td>
</tr>
</tbody>
</table>

    # without as is results
    kableExtra::kable(df)

<table>
<thead>
<tr>
<th style="text-align:right;">
a
</th>
<th style="text-align:left;">
b
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;">
1
</td>
<td style="text-align:left;">
Roy, Wang, and Jiang (2019)
</td>
</tr>
<tr>
<td style="text-align:right;">
2
</td>
<td style="text-align:left;">
(<span class="citeproc-not-found"
data-reference-id="nocite">**???**</span>)
</td>
</tr>
</tbody>
</table>

    # Try explicit '"' quotes
    df <- data.frame(a,b = paste0('"',b,'"'))
    kableExtra::kable(df)

<table>
<thead>
<tr>
<th style="text-align:right;">
a
</th>
<th style="text-align:left;">
b
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right;">
1
</td>
<td style="text-align:left;">
"(<span class="citeproc-not-found"
data-reference-id="roy2019growth&amp;quot">**???**</span>);
</td>
</tr>
<tr>
<td style="text-align:right;">
2
</td>
<td style="text-align:left;">
"(<span class="citeproc-not-found"
data-reference-id="nocite&amp;quot">**???**</span>);
</td>
</tr>
</tbody>
</table>

My Reference
============

Roy, Rupsa, Yang Wang, and Shijun Jiang. 2019. “Growth Pattern and
Oxygen Isotopic Systematics of Modern Freshwater Mollusks Along an
Elevation Transect: Implications for Paleoclimate Reconstruction.”
*Palaeogeography, Palaeoclimatology, Palaeoecology*, 109243.

1 个答案:

答案 0 :(得分:1)

@hao-ye找到了一个很好的解决方案,在kable()中指定了'markdown'格式:enter code here

kableExtra::kable(dat,
      format = "markdown")