Line breaks in R Markdown text (not code blocks)

93,646

Solution 1

I tried these tests, it seems to be working:

test.Rmd

---
output: pdf_document
---

# test 1
No spaces used   

line1
line2


# test 2
2spaces at the end of line1  

line1  
line2

# test 3
2spaces at the end of line1, then 2 spaces on next line

line1  

line2

enter image description here

sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252   
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] htmltools_0.2.6 tools_3.2.0     yaml_2.1.13     rmarkdown_0.5.1 digest_0.6.8 

Solution 2

It's a rather old question, but I post an answer since it's the first hit when googling for "line breaks in rmarkdown".

If compiling to pdf, you can use latex macros. Substitute the ** in the new line with \hfill\break:

# Introduction

The Tufte-\LaTeX\ [^tufte_latex] document**
\hfill\break
classes define a style similar to the style Edward Tufte uses in his books...

Solution 3

The best way I have found to add blank lines is:

# First title
<br><br><br><br><br>  

# Second title with 5 blank spaces above it

You can try this, hopefully it helps. I have tested in html_documents only, but presumably it would work in pdf as well.

Solution 4

You can also use native LaTeX instructions if you use Knit to generate the PDF output. This would break the other output formats such as HTML though... :

e.g. :

In Markdown part

---
output: pdf_document
---

# test 1
No spaces used   

line1\linebreak
line2

line3\linebreak line4

\linebreak and \newline seem to both work...

As R expression
r paste0("test","\\linebreak ", "test2")

Output is :
test
test2

Don't forget to add a trailing space after "\linebreak "...

This also allows to center paragraphs.

See also : Centering image and text in R Markdown for a PDF report

Solution 5

Use linebreak with an empty character (ALT+255) before.

Example:

.\linebreak

The empty character (here shown as a period) prevents the error message "LaTeX Error: There's no line here to end."

NB: The empty character is above shown as a period, since I could not include an empty character here on Stackoverflow). However you must not use period, but press ALT + 255 on you keyboard. I the .Rmd file it will show as as symbol similar to a period, but this symbol will be invisible in the output (e.g. PDF file).

Share:
93,646
d8aninja
Author by

d8aninja

Americanadian dad(bod). Him/they. Star Wars/Trek. Whiskey/whiskeys. 7y @USArmy Vet. Trying to be good at devsecops.

Updated on July 02, 2021

Comments

  • d8aninja
    d8aninja almost 3 years

    Using the tufte_template rmarkdown file, I am trying to make a new paragraph (like \newthought{}, but no caps.) I use two spaces, denoted here by *:

    # Introduction
    
    The Tufte-\LaTeX\ [^tufte_latex] document**
    **
    classes define a style similar to the style Edward Tufte uses in his books...
    

    but get this result:

    enter image description here

    I have tried \n in place of the second pair of spaces (**) as well, but pandoc throws an error.

    pandoc.exe: Error producing PDF from TeX source
    Error: pandoc document conversion failed with error 43
    

    Finally, I tried using a <br> tag, but that seems to have no effect whatsoever - it doesn't print the text or a break to the PDF.

    I would like a new paragraph, without the indentation, similar to \newthought{}, but without the capitalization...is there a way?

    Update 1 with sessionInfo():

    > sessionInfo()
    R version 3.1.2 (2014-10-31)
    Platform: x86_64-w64-mingw32/x64 (64-bit)
    
    locale:
    [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
    [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
    [5] LC_TIME=English_United States.1252    
    
    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base     
    
    loaded via a namespace (and not attached):
    [1] digest_0.6.8    htmltools_0.2.6 rmarkdown_0.5.1 tools_3.1.2     yaml_2.1.13
    

    Update 2

    This seems to be a problem I encounter specifically when using the Tufte template:

    enter image description here

  • d8aninja
    d8aninja almost 9 years
    it would seem that it's the tufte_template that is causing these different outcomes... see the new image I updated with -- Why would it be doing that?
  • szarka
    szarka about 3 years
    Sadly, the <br> gets silently eaten for PDF targets.
  • Michael Szczepaniak
    Michael Szczepaniak about 3 years
    I couldn't use the accepted answer to add space between text and a following code chunk, but \hfill did the trick for me.
  • d8aninja
    d8aninja almost 3 years
    when you say "ALT + 255 on you keyboard" do you mean hold down alt while pressing 2,2, and then 5? if so that does nothing on mine...
  • madsR
    madsR almost 3 years
    Yes, exactly. Hold ALT all the time while pressing 2,5,5 in a sequence rather quickly and then releasing ALT. (255 not 225.) Often need to give it a couple of tries before it hits in correctly.Possibly the empty character will not show in your file, even if I think it should show. If so, try to copy paste to another text editor to see if it might show there.