我正在考虑用rmarkdown和latex编写我的论文.然而,当我尝试在文本中添加一个图形(而不是R图)并将其渲染为pdf时,标题和文本引用会消失,我将了解它是如何工作的.
这是我用来添加数字的代码片段:
---
title: "Untitled"
output: pdf_document
---
see figure \ref{fig1}.

Run Code Online (Sandbox Code Playgroud)
这就是knitr创造的:
这就是pandoc创造的:
问题: 如何在渲染为pdf时显示的Rmarkdown中的图形标题和文本引用?
要么
我如何告诉pandoc Rmarkdown是什么,它将呈现R代码和图?
\label{}
当使用knitr从*.Rmd
文件到*.md
文件时,我无法生成绘图knitr
; 然后转换为*.pdf
via pandoc
.
我的MWE *.Rmd
包括在下面:
```{r Setup, include=FALSE, results="hide", warning=FALSE}
opts_chunk$set(dev="cairo_pdf", fig.lp="fig:", echo=FALSE, results="hide",
message=FALSE, warning=FALSE)
```
```{r mwe-plot, fig.cap = "MWE plot."}
library(ggplot2)
ggplot(mtcars, aes(factor(cyl))) +
geom_bar()
```
Run Code Online (Sandbox Code Playgroud)
我编织:
knit("mwe.Rmd")
Run Code Online (Sandbox Code Playgroud)
然后我用pandoc
pandoc -o mwe.pdf mwe.md
Run Code Online (Sandbox Code Playgroud)
我应该能够Figure \ref{fig:mwe-plot}
在我的*.Rmd
来源中交叉引用该情节.但是\label{fig:mwe-plot}
,mwe.tex
如果我运行,似乎还没有创建:
pandoc -o mwe.pdf mwe.md
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想在我的图标题中引用一篇文章.我试过在块选项中使用Rmarkdown/pandoc [@citekey]
和latex \\citep{citekey}
形式,fig.cap
没有任何运气.
这是一个可重复的例子:
---
output:
rmarkdown::tufte_handout
references:
- id: Nobody06
title: 'My Article'
author:
- family: Nobody
given: Jr
issued:
year: 2006
---
Some text [@Nobody06].
```{r figure, fig.cap="A figure [@Nobody06]"}
library(ggplot2)
qplot(1:10, rnorm(10))
```
# References
Run Code Online (Sandbox Code Playgroud)
这会在文本块中生成正确的引文,但在图标题中[@Nobody06]
(当我使用RMarkdown表单时)或(?)
(当我使用Latex表单时).
有谁知道是否可以在fig.cap
现场使用引用?
在这篇文章之后,我试图将@YihuiXie的答案与rticles的PLOS模板一起付诸实践,但这是行不通的。任何帮助将不胜感激!
下面是一个最小的示例:
---
title: Title of submission to PLOS journal
author:
- name: Me
affiliation: Here
# output: rticles::plos_article
output:
bookdown::pdf_document2:
base_format: rticles::plos_article
---
# Introduction
Some text \@ref(fig:fig1)
# References {#references .unnumbered}
Run Code Online (Sandbox Code Playgroud)
错误消息显示为
Error in pdf_book(..., base_format = rmarkdown::pdf_document) : formal argument "base_format" matched by multiple actual arguments
Calls: <Anonymous> -> create_output_format -> do.call -> <Anonymous>
Execution halted
Run Code Online (Sandbox Code Playgroud) 感谢bookdown
Yihui Xie提供的非常有用的软件包,数字的交叉引用非常有效。并且可以参考这个问题中描述的数字
但是,在用 R 为科学论文撰写出版物时,我必须将几组数字分开。第一组是进入出版物的数字,第二组是补充数字。
我想有一个单独的计数器用于补充数字。目前有没有办法在bookdown
包装中做到这一点?
所以基本上我喜欢
\@ref(fig:figure1) # evaluates to Fig. 1
\@ref(fig:figure2) # evaluates to Fig. 2
\@ref(figS:supplementary-figure1) #evaluates to Fig. S1.
Run Code Online (Sandbox Code Playgroud)
附注。对我来说最重要的输出是bookdown::word_document2
最小工作示例:
---
title: "MWD"
output: bookdown::word_document2
---
# Results
This text refers to Fig. \@ref(fig:fig1main).
We also want to refere here to Fig. \@ref(fig:fig2main).
In some cases we also need supplementary data. Please see Suppl. Fig. S\@ref(fig:fig1supp).
Please note that the 'S' before the reference should optimally NOT …
Run Code Online (Sandbox Code Playgroud) 我的问题是如何引用如下所示的降价格式的表格,因为这里的答案不起作用\n使用 bookdown 包引用“手工制作”的表格\n我尝试过
\n\n---\noutput: html_document\n---\n\nyou may refer to this table using \\@ref(tab:foo)\n\nTable: (\\#tab:foo) Your table caption.\n\n+-----------------------+-----------------------+-----------------------+\n| Auteur | Protocole | R\xc3\xa9sultats |\n+=======================+=======================+=======================+\n| (Jiayi 2011) | Analyse formantique | Diphtongaison de [e |\n+-----------------------+-----------------------+-----------------------+\n
Run Code Online (Sandbox Code Playgroud)\n\n但它不起作用。
\n\n它给出“表格:(#tab:foo)您的表格标题。” 作为标题和“您可以使用 @ref(tab:foo) 引用此表”如果我使用 @ref(tab:foo) 交叉引用。
\n\n是否也可以有自动编号?
\nbookdown 为方程、图形、表格和部分提供了很好的交叉引用选项:https ://bookdown.org/yihui/bookdown/cross-references.html
但是,当我将它们设置为输出“文章:: elsevier_article”时,它们似乎不起作用。
文章中的交叉引用有哪些可用选项?