在 Rmarkdown 中使用网状结构交叉引用 python 代码块
Cross-reference a python code chunk in Rmarkdown with reticulate
我有一个 Rmarkdown 文档,其中包含一些使用 reticulate
库的 python 代码块。代码完美执行输出;但是,我如何使用其标签交叉引用文本中生成的图?我正在使用 bookdown::pdf_documents2
等,并且使用标准 \@ref(fig:my-plot)
.
的 R 块的内联引用没有问题
MWE 将是:
```{python, my-plot}
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.arange(10)
plt.figure()
plt.plot(x, y)
plt.show()
```
图中\@ref(fig:my-plot)
.....
我试过不添加块类型(无花果等)
我知道我可以将图像保存到文件并将其包含在 knitr
中作为后续的 R 块,但最好单独通过 python 块来完成。
我之前在块中尝试 fig.cap
时一定是犯了一个错误,正如丹尼尔在问题评论中正确建议的那样。再次尝试此操作,我可以 cross-reference 完美地处理所有 HTML、PDF 和文字输出中的 python
块。更新后的 MWE 为:
```{python, my-plot, fig.cap="My Caption"}
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.arange(10)
plt.figure()
plt.plot(x, y)
plt.show()
```
图中\@ref(fig:my-plot)
...
YAML header 中的每个输出都需要不同的 bookdown::
选项。对于 PDF (bookdown::pdf_document2
)、word (bookdown::word_document2
) 和 Rmdformats 在我的例子中,use_bookdone: true
.
的选项
我有一个 Rmarkdown 文档,其中包含一些使用 reticulate
库的 python 代码块。代码完美执行输出;但是,我如何使用其标签交叉引用文本中生成的图?我正在使用 bookdown::pdf_documents2
等,并且使用标准 \@ref(fig:my-plot)
.
MWE 将是:
```{python, my-plot}
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.arange(10)
plt.figure()
plt.plot(x, y)
plt.show()
```
图中\@ref(fig:my-plot)
.....
我试过不添加块类型(无花果等)
我知道我可以将图像保存到文件并将其包含在 knitr
中作为后续的 R 块,但最好单独通过 python 块来完成。
我之前在块中尝试 fig.cap
时一定是犯了一个错误,正如丹尼尔在问题评论中正确建议的那样。再次尝试此操作,我可以 cross-reference 完美地处理所有 HTML、PDF 和文字输出中的 python
块。更新后的 MWE 为:
```{python, my-plot, fig.cap="My Caption"}
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.arange(10)
plt.figure()
plt.plot(x, y)
plt.show()
```
图中\@ref(fig:my-plot)
...
YAML header 中的每个输出都需要不同的 bookdown::
选项。对于 PDF (bookdown::pdf_document2
)、word (bookdown::word_document2
) 和 Rmdformats 在我的例子中,use_bookdone: true
.