On 14/03/2014 12:28 PM, Skye Bender-deMoll wrote:
Dear R-devel,
Question:
How can I get Sweave to recognize that the \thebibliography section
is already created and generate the vignette pdf with a single pass? Or
is there a way to let R CMD build know that Sweave needs to be run twice?
I think the problem isn't Sweave: it ignores LaTeX code. The problem
is the following step that converts the .tex output into a .pdf, which
is handled by tools::texi2pdf (which runs tools::texi2dvi). That
function makes an effort to determine how many LaTeX passes are
required, but it appears you are fooling it somehow.
Take a look at the source to tools::texi2dvi, and see if you can spot
what's going wrong in your case. There are a number of different paths
through that code that depend on your particular setup, so we can't do
that. If you don't succeed in this, then post a simplified sample
package and someone else will be able to see if they have the same
problem as you, and perhaps fix it.
Duncan Murdoch
If (1) is not possible, any suggestions how to auto-generate a
crude generic bibtex .bib file from my existing document?
Background:
I maintain serveral R packages that include package vignettes. The
vignettes include the reference citations inline as\bibitem lines inside
a thebiblilography section. For some reason, this requires running
Sweave twice on the document (the first pass is presumably preformatting
the citation information?) to produce a pdf. This seems to be the source
of problems when included in R's preferred vignette location
(/vignettes/myPackage.Rnw) because the R package builder just runs
Sweave once during the check process, so no pdf is produced and warnings
are generated like
checking package vignettes in ‘inst/doc’ ... WARNING
Package vignette without corresponding PDF/HTML
In the past, it has been possible for me to pre-build the pdf, and
include it in the /inst/doc/ directory. But it seems the upcoming
versions of R may prohibit this.
It appears that it is possible to avoid all this by including a bibtex
.bib file along with the vignette instead of doing the citations inline.
If the .bib files exists, it seems to generate with a single pass. But
reformatting all of the citations for each document into bibtex will be
a huge pain. Including a blank \bibliography{} command above my
\thebibliography environment also allows the document to be build in a
single pass, but generates a warning about duplicate biliography and
writes the section header twice (not surprisingly).
Note: I've cross-posted this question at:
http://stackoverflow.com/questions/22237675/how-to-get-sweave-to-recognize-thebibliography-environment-and-build-r-package
thanks for your help,
best,
-skye
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel