R Markdown文本中的换行符(不是代码块)

时间:2015-05-05 15:23:49

标签: r markdown r-markdown tufte

使用tufte_template rmarkdown文件,我正在尝试创建一个新段落(如\newthought{},但没有上限。)我使用两个空格,在此表示为*:

# Introduction

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

但得到这个结果:

enter image description here

我已经尝试\n代替第二对空格(**),但是pandoc会抛出错误。

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

最后,我尝试使用<br>标记,但这似乎没有任何效果 - 它不会打印文本或中断PDF。

我想要一个没有缩进的新段落,类似于\ newthought {},但没有大写...有没有办法?

使用sessionInfo()

更新1

> 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

更新2

这似乎是我在使用Tufte模板时遇到的一个问题:

enter image description here

5 个答案:

答案 0 :(得分:16)

我试过这些测试,似乎工作正常:

<强> 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 

答案 1 :(得分:7)

这是一个相当陈旧的问题,但我发布了一个答案,因为它是在rmarkdown&#34;中搜索&#34;换行符时的第一个打击。

如果编译为pdf,则可以使用乳胶宏。用\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...

答案 2 :(得分:1)

我发现添加空白行的最好方法是:

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

# Second title with 5 blank spaces above it

您可以尝试一下,希望对您有所帮助。我仅在html_documents中进行了测试,但是大概它也可以在pdf中工作。

答案 3 :(得分:1)

如果您使用 Knit 生成 PDF 输出,您也可以使用原生 LaTeX 指令。虽然这会破坏其他输出格式,例如 HTML... :

例如:

在 Markdown 部分

---
output: pdf_document
---

# test 1
No spaces used   

line1\linebreak
line2

line3\linebreak line4

\linebreak\newline 似乎都有效...

作为 R 表达式
r paste0("test","\\linebreak ", "test2")

输出是:
测试
测试2

不要忘记在 "\linebreak "...

后添加一个尾随空格

这也允许将段落居中。

另见:Centering image and text in R Markdown for a PDF report

答案 4 :(得分:0)

在前面使用带有空字符 (ALT+255) 的换行符。

示例:

.\linebreak

空字符(此处显示为句点)可防止出现错误消息“LaTeX 错误:此处没有行结束。”

注意:空字符在上方显示为句点,因为我无法在 Stackoverflow 上包含空字符)。但是,您不能使用句点,而是按键盘上的 ALT + 255。我的 .Rmd 文件将显示为类似于句点的符号,但此符号在输出中将不可见(例如 PDF 文件)。