How to add a page break in word document generated by RStudio & markdown

后端 未结 10 2196
情深已故
情深已故 2020-12-03 02:33

I writing a Word document with R markdown in R Studio. I can get many things, but at the moment I am not figuring out how can I get a page break. I have found solutions but

10条回答
  •  情深已故
    2020-12-03 03:02

    Here is an R script that can be used as a pandoc filter to replace LaTeX breaks (\pagebreak) with word breaks, per @JAllen's answer above. With this you don't need to compile a pandoc script. Since you are working in R Markdown I assume one has R available in the system.

    #!/usr/bin/env Rscript
    
    json_in <- file('stdin', 'r')
    lat_newp <- '{"t":"RawBlock","c":["latex","\\\\newpage"]}'
    doc_newp <- '{"t":"RawBlock","c":["openxml",""]}'
    ast <- paste(readLines(json_in, warn=FALSE), collapse="\n")
    ast <- gsub(lat_newp, doc_newp, ast, fixed=TRUE)
    write(ast, "")
    

    Save this as page-break-filter.R or something like that and make it executable by running chmod +x page-break-filter.R in the terminal.

    Then include this filter the R Markdown YAML like so:

    ---
    title: "Title
    author: "Author"
    output:  
      word_document:
        pandoc_args: [
          "--filter", "/path/to/page-break-filter.R"
        ]
    ---
    

提交回复
热议问题