我无法让R/KnitR为数字创建LaTeX \label{}语句.该手册似乎表明\label{}将通过将fig.lp中的字符串(默认情况下为"fig:")与R代码块的标签连接来创建语句.但是,我无法让它发挥作用.没有\label{}为通过编织下面的MWE创建的第一个数字创建语句.第二个图是它的标签添加了我刚刚发现的解决方法,将R块放在图形环境中,并将\label标记放在标记之后或之内\caption.
\documentclass[12pt, english, oneside]{amsart}
\begin{document}
Figure \ref{fig:plot} doesn't have it's label.
<<plot>>=
plot(x=0, y=0)
@
Figure \ref{fig:plot2} has its label.
\begin{figure}
\caption{\label{fig:plot2}}
<<>>=
plot(x=1,y=1)
@
\end{figure}
\end{document}
Run Code Online (Sandbox Code Playgroud)
好的,我通过将R块\begin{figure} . . .\end{figure}放在LaTeX 的环境中找到了解决方法.我可以在同一个环境中创建标签.不过,我想了解Yihui打算如何处理KnitR.
某些类型的文件,例如期刊文章,通常有一个补充部分,其中数字的编号与主体不同.
例如,在主体中,您可能有图1-5.但是,对于补充部分,编号重新开始,如图S1,S2,S3等.
Bookdown允许交叉引用(\@ref(fig:label)但我不知道如何在单独的部分重新开始编号.有没有一个好方法可以做到这一点?
感谢bookdownYihui 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)