2015-10-25 26 views
6

Nie wydaje mi się, aby zhakować sobie przez wszystkie możliwości i mieć pełną bibliografię wstawioną do pliku wyjściowego PDF RStudio, knitr, skryptu .Rnw i przycisku "Kompiluj PDF". Żądanym tekstem w pliku PDF będą szczegóły cytowanych prac.Z knitr i .Rnw dla LaTeXa, jak wydrukujesz pełną bibliografię w pliku PDF?

Oto plik Liliputki bibtex o nazwie jabrefbibtest.bib zapisany w katalogu roboczym.

@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"} 
} 

Skrypt .Rnw, okrojona, to

\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} 

Dziennik:

! 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] 

Wraz z lateksu Companion, Dokumenty dynamiczne z R i knitr przez Yihui Xie, dwa startery LaTeX i 262-stronicowy podręcznik dla biblatexa porady dotyczące tych stron. Próżno.

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

EDIT po UWAGI

cały plik PDF ma to:

Referencje Oto jedna cytacja [?] I tutaj jest druga [?]. Teraz czy pełne referencje pokazują poniżej?

+0

co się dzieje, jeśli wykomentuj/delete linia '\ usepackage [backend = bibtex] {biblatex}' ...? –

+0

@BenBolker: skomentowanie tej linii powoduje powstanie pliku PDF - postęp! - ale cytaty są puste [?] i nie ma pełnych referencji. PS Dziękuję za zmiany. Nie zdawałem sobie sprawy, że mogę sformatować bibtex i dziennik przeglądania. – lawyeR

+0

używanie 'setwd()' wewnątrz twojego pliku Rnw jest również prawdopodobnie złym pomysłem. Co się stanie, jeśli usuniesz kawałek "bibbackground"? –

Odpowiedz

2

Ponieważ komunikaty o błędach mówiłem:

  1. Nie używaj \bibliographystyle{plain} (to nie działa dla biblatex); użyj zamiast tego opcji style w \usepackage[]{biblatex};
  2. \bibliography{jabrefbibtest} należy umieścić w preambule zamiast w treści.

Po rozwiązaniu tych problemów, to powinno działać:

\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} 

BTW, RStudio prawdopodobnie nie obsługuje domyślnego backend biber z biblatex, więc opcja backend=bibtex została wykorzystana.

+0

Strzelaj za tobą odpowiedział @ Yihui Opuszczam moją odpowiedź, choć tak samo jest w przypadku, gdy jest ona również pouczająca ... –

+0

Dziękuję, Yihui. Kodeks, to wyprodukował cytat, ale nie pełną bibliografię, którą próbuję mieć na końcu. To jest z pliku PDF, tutaj jest jeden cytat GreentargetEngagement2012 i tutaj jest sekunda ond CitiprivateBank Teraz czy pełne referencje pokazują poniżej? – lawyeR

1

używam dokładnie takiej konfiguracji poniżej, aby uzyskać (zauważ, że nie jestem fanem zmieniając wd w knitr/rmarkdown i usuwa ten, również klucze w RNW nie pasuje do klucza w MWe):

enter image description here

\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} 

również po dzianin RNW muszę uruchomić plik tex choć kompilator LaTeX do renderowania odnośnikach po raz pierwszy.

+0

Przykro mi, że jestem powolny, ale co oznacza ostatnie zdanie twojej odpowiedzi i jak "uruchamiać plik tex za pomocą kompilatora LaTeX"? – lawyeR

+0

Otwieram miktex i uruchamiam plik .tex (RStudio/knitr tworzy plik tex z pliku Rnw). Dodaje to odniesienia (zanim żadna sekcja odniesienia i cytaty nie będą wyglądały na odważne twarze biblijne). Po uruchomieniu pliku tex raz, o ile nie zmienisz cytatów, możesz po prostu uruchomić plik rnw w RStudio. Jeśli zmienisz cytaty, musisz ponownie uruchomić plik tex, aby cytaty działały ponownie. Jest to prawdopodobne, co Yihui odnosi się do biber i RStudio. –

0

Zawsze umieszczam \bibliography{jabrefbibtest} na końcu skryptu, gdzie chcę, aby wystąpiły odwołania.

0

Aby uwzględnić wszystkie odnośniki z pliku .bib w bibliografii, czyli nawet te, które nie kończą się powołując zawierać linię \nocite{*} tuż przed linią \printbibliography

Powiązane problemy