【问题标题】:Line breaks in R Markdown text (not code blocks)R Markdown 文本中的换行符(不是代码块)
【发布时间】:2015-05-05 15:23:48
【问题描述】:

使用 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...

但是得到这个结果:

我也尝试用\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模板时专门遇到的一个问题:

【问题讨论】:

  • 你的代码适合我,没有缩进,没有大写。
  • @zx8754 在“Tufte LaTex 文档”和“类定义...”之间有一个完整的空行?
  • @zx8754 刚刚从头开始运行它,输出与上面相同...?

标签: r markdown r-markdown tufte


【解决方案1】:

我尝试了这些测试,它似乎有效:

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

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 

【讨论】:

  • 似乎是 tufte_template 导致了这些不同的结果...查看我更新的新图像 -- 为什么会这样做?
【解决方案2】:

这是一个相当老的问题,但我发布了一个答案,因为它是谷歌搜索“rmarkdown 中的换行符”时的第一个问题。

如果编译成 pdf,你可以使用 Latex 宏。将新行中的** 替换为\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...

【讨论】:

  • 我无法使用接受的答案在文本和后续代码块之间添加空格,但 \hfill 为我解决了问题。
【解决方案3】:

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

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

# Second title with 5 blank spaces above it

你可以试试这个,希望对你有帮助。我只在 html_documents 中进行了测试,但大概它也可以在 pdf 中使用。

【讨论】:

  • 遗憾的是,
    被 PDF 目标默默吃掉了。
【解决方案4】:

如果您使用 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

【讨论】:

    【解决方案5】:

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

    例子:

    .\linebreak
    

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

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

    【讨论】:

    • 当您说“键盘上的 ALT + 255”时,您的意思是在按住 alt 的同时按 2,2,然后按 5?如果是这样,那对我没有任何作用......
    • 是的,完全正确。一直按住 ALT,同时快速按 2、5、5,然后松开 ALT。 (255 不是 225。)通常需要尝试几次才能正确命中。可能空字符不会显示在您的文件中,即使我认为它应该显示。如果是这样,请尝试将粘贴复制到另一个文本编辑器,看看它是否会显示在那里。
    猜你喜欢
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 2018-01-03
    相关资源
    最近更新 更多