[R] post_processor in rmarkdown not working
Thierry Onkelinx
thierry.onkelinx at inbo.be
Thu Sep 7 09:12:15 CEST 2017
Dear Heinz,
Yes. The idea of the post_processor() is that 1) pandoc converts the .md to
.tex 2) the post_processors changes the .tex 3) the .tex is compiled into
.pdf Hence the post_processors need to read, change and overwrite the tex
output file.
Best regards,
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and
Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium
To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to say
what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey
2017-09-07 9:08 GMT+02:00 Heinz Tuechler <tuechler op gmx.at>:
> Are you sure that you want to read in the output_file in
>
> text <- readLines(output_file, warn = FALSE)?
>
> best regards,
>
> Heinz
>
>
> Thierry Onkelinx wrote/hat geschrieben on/am 06.09.2017 11:41:
>
>> Dear all,
>>
>> I'm trying to write a post_processor() for a custom rmarkdown format. The
>> goal of the post_processor() is to modify the latex file before it is
>> compiled. For some reason the post_processor() is not run. The
>> post_processor() does work when I run it manually on the tex file.
>>
>> Any suggestions on what I'm doing wrong? Below is the relevant snippet of
>> the code. The full code is available at
>> https://github.com/inbo/INBOmd/blob/post_processor/R/rsos_article.R
>> https://github.com/inbo/INBOmd/blob/post_processor/inst/
>> rmarkdown/templates/rsos_article/skeleton/skeleton.Rmd
>> is an Rmd is a MWE that fails compile because the post_processor() is not
>> run.
>>
>> Best regards,
>>
>> Thierry
>>
>> post_processor <- function(
>> metadata, input_file, output_file, clean, verbose
>> ) {
>> text <- readLines(output_file, warn = FALSE)
>>
>> # set correct text in fmtext environment
>> end_first_page <- grep("\\\\EndFirstPage", text) #nolint
>> if (length(end_first_page) == 1) {
>> maketitle <- grep("\\\\maketitle", text) #nolint
>> text <- c(
>> text[1:(maketitle - 1)],
>> "\\begin{fmtext}",
>> text[(maketitle + 1):(end_first_page - 1)],
>> "\\end{fmtext}",
>> "\\maketitle",
>> text[(end_first_page + 1):length(text)]
>> )
>> writeLines(enc2utf8(text), output_file, useBytes = TRUE)
>> }
>> output_file
>> }
>>
>> output_format(
>> knitr = knitr_options(
>> opts_knit = list(
>> width = 60,
>> concordance = TRUE
>> ),
>> opts_chunk = opts_chunk,
>> knit_hooks = knit_hooks
>> ),
>> pandoc = pandoc_options(
>> to = "latex",
>> latex_engine = "xelatex",
>> args = args,
>> keep_tex = keep_tex
>> ),
>> post_processor = post_processor,
>> clean_supporting = !keep_tex
>> )
>>
>>
>>
>> ir. Thierry Onkelinx
>> Instituut voor natuur- en bosonderzoek / Research Institute for Nature and
>> Forest
>> team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
>> Kliniekstraat 25
>> 1070 Anderlecht
>> Belgium
>>
>> To call in the statistician after the experiment is done may be no more
>> than asking him to perform a post-mortem examination: he may be able to
>> say
>> what the experiment died of. ~ Sir Ronald Aylmer Fisher
>> The plural of anecdote is not data. ~ Roger Brinner
>> The combination of some data and an aching desire for an answer does not
>> ensure that a reasonable answer can be extracted from a given body of
>> data.
>> ~ John Tukey
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help op r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posti
>> ng-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
> --
> Heinz Tüchler +436605653878
>
> ______________________________________________
> R-help op r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posti
> ng-guide.html
> and provide commented, minimal, self-contained, reproducible code.
[[alternative HTML version deleted]]
More information about the R-help
mailing list