Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用knitr和.Rnw for LaTeX,如何在PDF输出中打印完整的参考书目?_R_Pdf_Latex_Knitr_Bibliography - Fatal编程技术网

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

使用knitr和.Rnw for LaTeX,如何在PDF输出中打印完整的参考书目?,r,pdf,latex,knitr,bibliography,R,Pdf,Latex,Knitr,Bibliography,我似乎无法通过黑客破解所有的可能性,在RStudio的PDF输出中插入完整的参考书目,knitr、一个.Rnw脚本和“编译PDF”按钮。PDF中所需的文本将是引用作品的详细信息 这是一个小人国bibtex文件,名为jabrefbibtest.bib,保存在工作目录中 @Book{GreentargetEngagement2012, Title = {"2012 - In - House Counsel New Media Engagement Surve

我似乎无法通过黑客破解所有的可能性,在RStudio的PDF输出中插入完整的参考书目,
knitr
、一个.Rnw脚本和“编译PDF”按钮。PDF中所需的文本将是引用作品的详细信息

这是一个小人国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"}
}
精简后的
.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}
\documentclass[11pt]{article}
\usepackage[backend=bibtex]{biblatex}
%\addbibresource{}#不确定是否需要此选项
\开始{document}
=
setwd(“~/R/knitr docs/”)
Sys.setenv(TEXINPUTS=getwd(),
bibinput=getwd(),
BSTINPUTS=getwd())
@
\书目样式{plain}
\参考书目{jabrefbibtest}
这里是一个引文{GreentargetEngagement2012},这里是第二个引文{CitiprivateBank}。
下面有完整的参考资料吗?
\印刷书目
\结束{document}
日志:

! 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]
!包biblatex错误:“\书目样式”无效。
有关说明,请参阅biblatex软件包文档。
键入H以获得即时帮助。
...                                              
l、 59\书目样式{plain}
改为使用包选项“样式”。
我忽略了这个命令。
! LaTeX错误:只能在前言中使用。
有关说明,请参阅LaTeX手册或LaTeX配套手册。
键入H以获得即时帮助。
...                                              
l、 60\参考书目
{jabrefbibtest}
你的命令被忽略了。
键入I以用另一个命令替换它,
或者继续没有它。
LaTeX警告:inpu第1页引用“GreentargetEngagement2012”未定义
第62行。
[更多省略]
除了Latex Companion,谢一辉(Yihui Xie)的动态文档R和knitr,还有两个Latex引物和262页的biblatex I手册,都在这些网站复杂的建议中苦苦挣扎。毫无结果

评论后编辑

PDF文件包含以下内容:

参考资料 这是一条引文,这是第二条引文。
下面是否显示了完整的参考信息?

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

  • 不要使用
    \书目样式{plain}
    (这不适用于biblatex);改用
    \usepackage[]{biblatex}
    中的
    样式
    选项
  • \参考书目{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}
    

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

    我使用下面的设置来获得(注意,我不喜欢在knitr/rmarkdown中更改
    wd
    ,并删除了该选项;而且您在Rnw中的密钥与mwe中的密钥不匹配):

    \documentclass[11pt]{article}
    \usepackage[美国]{babel}
    \usepackage[style=apa,backend=biber,bibencoding=latin1]{biblatex}
    \声明语言应用{american}{american apa}
    \addbibresource{jabrefbibtest.bib}
    \开始{document}
    =
    #setwd(“~/R/knitr docs/”)
    Sys.setenv(TEXINPUTS=getwd(),
    bibinput=getwd(),
    BSTINPUTS=getwd())
    @
    %\书目样式{plain}
    这里是一个引文{GreentargetEngagement2012},这里是第二个引文{CitiprivateBank}。
    下面有完整的参考资料吗?
    \印刷书目
    \结束{document}
    

    在Rnw编织之后,我还必须通过LaTeX编译器运行tex文件,以便第一次呈现引用。

    我总是将
    \subscription{jabrefbibtest}
    放在脚本末尾,我希望引用出现的地方。

    要将.bib文件中的所有引用包含在参考书目中,也就是说,即使是你最后没有引用的,也包括这一行
    \nosite{*}
    就在第
    \print书目

    行之前,如果注释掉/删除
    \usepackage[backend=bibtex]{biblatex}
    行,会发生什么@本博克:注释掉这一行会产生一个PDF文件——进度!——但是cites是空的[?],没有完整的参考资料。PS谢谢你的编辑。没有意识到我可以格式化bibtex和视图日志。在Rnw文件中使用
    setwd()
    也可能是个坏主意。如果你拿出
    围兜背景
    块会怎么样?非常感谢你抽出时间。我删除了块,但没有改进,PDF也没有生成。查看日志的部分内容是:“LaTeX警告:输入行3上的空` The书目'环境。}。它找不到.bib文件,尽管它在工作目录中。[这就是为什么我认为需要该块;告诉knitr等在哪里找到bibtex文件])尝试显式地将.bib放在\书目{jabrefbibtest.bib}你回答了@Yihui,我留下了我的回答,虽然这是一样的,以防它也能提供信息。谢谢你,Yihui。我运行了你的代码,它生成了cites,但不是我最后想要的全部参考书目。这是PDF,这是一个引文GreentargetEngagement2012,这是第二个花旗私人银行现在做的下面显示了完整的参考资料?很抱歉我说得太慢了,但是你的答案的最后一句话是什么意思,以及“通过LaTeX编译器运行tex文件”是什么意思?我打开miktex并通过它运行.tex文件(RStudio/knitr从Rnw文件生成tex)。这添加了参考资料(在此之前,没有参考章节和引文显示为黑体字)。一旦您运行一次tex文件,只要您不更改引用,您就可以在此之后在RStudio中运行rnw文件。如果您更改引用,则需要重新运行tex文件以使引用再次工作。这可能是Yihui对biber和RStudio的引用。
    \documentclass[11pt]{article}
    
    \usepackage[american]{babel}
    \usepackage[style=apa,backend=biber,bibencoding=latin1]{biblatex}
    \DeclareLanguageMapping{american}{american-apa}
    
    \addbibresource{jabrefbibtest.bib}
    
    
    \begin{document}
    
    <<bibbackground, echo=FALSE, include=FALSE>>=
    #setwd("~/R/knitr docs/")
    Sys.setenv(TEXINPUTS=getwd(),
               BIBINPUTS=getwd(),
               BSTINPUTS=getwd())
    @
    
    %\bibliographystyle{plain}
    
    Here is one citation \cite{GreentargetEngagement2012} and here is a second \cite{CitiprivateBank}.
    
    Now do full References show below?
    
    \printbibliography
    \end{document}