使用Knitr和.Rnw for LaTeX,如何在PDF输出中打印完整的参考书目?

law*_*yeR 6 pdf latex r bibliography knitr

我无法通过所有可能性破解我的方式knitr,并在RStudio的PDF输出中插入了完整的参考书目,.Rnw脚本和"编译PDF"按钮.PDF中的所需文本将是引用作品的详细信息.

这是一个Lilliputian bibtex文件,名为jabrefbibtest.bib,保存在工作目录中.

@Book{GreentargetEngagement2012,
  Title                    = {"2012 - In - House Counsel New Media Engagement Survey"},
  Author                   = {"Inside Counsel "},
  Publisher                = {"Greentarget"},
  Year                     = {"2012"},
  Pages                    = {"20"},
  Plots                    = {"9"},
  Tables                   = {"0"},
  Url                      = {"http://www.greentarget.com/wp-content/uploads/2012/01/2012GTZGICSurveyReportFinal-WebsiteVersion.pdf"}
}
@Book{CitiprivateBank,
  Title                    = {"Intellectual Leadership with Law Watch"},
  Author                   = {""},
  Publisher                = {""},
  Year                     = {"2008"},
  Pages                    = {"2"},
  Plots                    = {"1"},
  Tables                   = {"4"},
  Url                      = {"http://www.citigroup.com/privatebank/lawassociates/pdfs/lawwatch/slipsheet.pdf"}
}
Run Code Online (Sandbox Code Playgroud)

.Rnw剥离的脚本是

\documentclass[11pt]{article}  

\usepackage[backend=bibtex]{biblatex}
% \addbibresource{}     # not sure if this is needed

\begin{document}

<<bibbackground, echo=FALSE, include=FALSE>>=
setwd("~/R/knitr docs/")
Sys.setenv(TEXINPUTS=getwd(),
           BIBINPUTS=getwd(),
           BSTINPUTS=getwd())
@

\bibliographystyle{plain}
\bibliography{jabrefbibtest}

Here is one citation \cite{GreentargetEngagement2012} and here is a second \cite{CitiprivateBank}.

Now do full References show below?

\printbibliography   
\end{document}
Run Code Online (Sandbox Code Playgroud)

日志:

! Package biblatex Error: '\bibliographystyle' invalid.

See the biblatex package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.59 \bibliographystyle{plain}

Use the package option 'style' instead.
I'm ignoring this command.


! LaTeX Error: Can be used only in preamble.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.60 \bibliography
                  {jabrefbibtest}
Your command was ignored.
Type  I <command> <return>  to replace it with another command,
or  <return>  to continue without it.

LaTeX Warning: Citation 'GreentargetEngagement2012' on page 1 undefined on inpu
t line 62.
[more omitted]
Run Code Online (Sandbox Code Playgroud)

除了The Latex Companion,带有R和knitr的动态文档,由Yihui Xie,两本LaTeX引物和262页的biblatex手册,我一直在努力解决这些网站的复杂建议.劳而无功.

https://tex.stackexchange.com/questions/71565/knitr-and-biblatex

https://tex.stackexchange.com/questions/63852/question-mark-instead-of-citation-number

http://texblog.org/2013/08/20/rknitr-automatic-bibliography-generation-with-biblatex-in-rstudio/

http://www.inside-r.org/packages/cran/knitcitations/docs/bibliography

评论后编辑

所有的PDF文件都是这样的:

参考文献这里有一个引用[?],这是第二个[?].现在做完整的参考文献如下所示?

Yih*_*Xie 2

正如错误消息告诉您的那样:

  1. 不要使用\bibliographystyle{plain}(这对 biblatex 不起作用);使用style选项\usepackage[]{biblatex}代替;
  2. \bibliography{jabrefbibtest}必须放在序言中而不是正文中。

纠正这些问题后,它应该可以工作:

\documentclass[11pt]{article}  

\usepackage[backend=bibtex]{biblatex}
\bibliography{jabrefbibtest}
% or use \addbibresource{jabrefbibtest.bib}

\begin{document}

Here is one citation \cite{ABFWomenFirstChairs2015} and
here is a second \cite{ACCGCSkills2013}.

Now do full References show below?

\printbibliography   
\end{document}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,RStudio 可能不支持 的默认后端biberbiblatex因此backend=bibtex使用了该选项。