My pure-latex demo.tex
is as follows:
\documentclass{article}
\usepackage[hidelinks]{hyperref}
\usepackage[numbers,super,square,sort&compress]{natbib}
\begin{document}
statistics \cite{anderson2003introduction,efron2004least,hastie2009elements}
\bibliographystyle{unsrtnat}
\nocite{*}
\bibliography{ref}
\addcontentsline{toc}{section}{References}
\end{document}
and it works well, where ref.bib
contains
@Book{anderson2003introduction,
author = {Anderson, Theodore Wilbur},
publisher = {Wiley},
title = {An introduction to multivariate statistical analysis},
year = {2003},
address = {New Jersey},
edition = {3},
}
@Article{efron2004least,
author = {Efron, Bradley and Hastie, Trevor and Johnstone, Iain and Tibshirani, Robert},
title = {Least angle regression},
journal = {The Annals of Statistics},
year = {2004},
volume = {32},
number = {2},
pages = {407--499},
}
@Book{hastie2009elements,
author = {Hastie, Trevor and Tibshirani, Robert and Friedman, Jerome},
publisher = {Springer},
title = {The elements of statistical learning: {Data} mining, inference, and prediction},
year = {2009},
address = {New York},
edition = {2},
}
@Book{fan2020statistical,
author = {Fan, Jianqing and Li, Runze and Zhang, Cun-Hui and Zou, Hui},
publisher = {CRC},
title = {Statistical foundations of data science},
year = {2020},
address = {Boca Raton},
}
I want to translate demo.tex
to the rmarkdown file tex2rmd.rmd
and I try
---
output:
pdf_document:
keep_tex: yes
citation_package: natbib
natbiboptions: "numbers,super,square,sort&compress"
# natbiboptions: "numbers,super,square" #test
biblio-style: unsrtnat
nocite: '@*'
bibliography: ref.bib
link-citations: yes
colorlinks: no
---
statistics [@anderson2003introduction; @efron2004least; @hastie2009elements]
# References
which gives errors like
! Missing \endcsname inserted.
<to be read again>
\&
l.351 \newcommand
\NAT@aysep{,} \newcommand\NAT@yrsep{,}
Then I check the tex2rmd.tex
file from the keep_tex: yes
functionality, and I find the problem happens at
\usepackage[numbers,super,square,sort\&compress]{natbib}
where there is sort\&compress
instead of sort&compress
. How can I fix this?
Moreover, I use natbiboptions: "numbers,super,square"
instead for test purpose and find the nocite: '@*'
does't work either (it should show all 4 items other than the cited 3 items). Do I ignore something?
CodePudding user response:
Replacing the &
from sort&compress
with ,
solves the issue of sort&compress
.
And it seems the nocite
YAML key doesn't work when you use natbib
or biblatex
as the citation package. Because nocite
key is used by pandoc-citeproc
filter, but when natbib
or biblatex
is used as citation method (default is
CodePudding user response:
To avoid all the problems with rmarkdown parsing and give you much more freedom, you can directly use the latex code in rmarkdown:
---
output:
pdf_document:
keep_tex: yes
link-citations: yes
colorlinks: no
header-includes:
- \usepackage[numbers,super,square,sort&compress]{natbib}
---
\nocite{*}
statistics \cite{anderson2003introduction,efron2004least,hastie2009elements}
# References
\bibliographystyle{unsrtnat}
\bibliography{ref}