On 06/09/2017 5:41 AM, Thierry Onkelinx wrote:
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.


I installed it and tried running it using

debug(INBOmd::rsos_article)
rmarkdown::render("skeleton.Rmd")

then after post_processor was defined, I set it to debug as well, and could see that the post_processor was being run.

I didn't get useful output, because the LaTeXing failed (I don't have the rsos.cls), but perhaps you've already fixed this problem, or perhaps it is intermittent?

Duncan Murdoch

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@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/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@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/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to