字幕与文字混合

Kar*_*Lau 3 r knitr r-markdown

我尝试使用两个空格将字幕与纯文本分开。
我的 .Rmd 文档的第一部分如下所示


---
title: 'Script de Limpieza: errores de digitalizacion y division de base madre'
author: "Leonardo Doig & Karen Lau"
date: "10/9/2020"
output:
  html_document: default
  word_document: default
  pdf_document: default
---


{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)


some random words should be here

#### First subtitle  

there are 2 blank spaces after the first subtitle


{r message=FALSE}
library(lubridate)

#### Second Subtitle   

plain text (after the second subtitle there are 2 blanks spaces too)
Run Code Online (Sandbox Code Playgroud)

但最终的输出总是这样的:

纯文本
第一个字幕 第 一个字幕后面有 2 个空格

library(lubridate)
Run Code Online (Sandbox Code Playgroud)

第二个副标题 纯文本(第二个副标题后面也有 2 个空格)


仅当我将.Rmd 文件编织为 .pdf 时才会发生这种情况。当我将其编织为 .html 时,所有这些混乱的字幕和纯文本似乎都没有问题。

Ale*_*lok 5

这种行为的原因是这个降价:

# Level 1
Text 1
## Level 2
Text 2
### Level 3
Text 3
#### Level 4
Text 4
##### Level 5
Run Code Online (Sandbox Code Playgroud)

被转换成 LaTeX 代码:

# Level 1
Text 1
## Level 2
Text 2
### Level 3
Text 3
#### Level 4
Text 4
##### Level 5
Run Code Online (Sandbox Code Playgroud)

常见的 LaTex 层次结构为节-小节-小节-段落-小段落。

因此 的 Rmarkdown 格式####是由 的 LaTeX 格式定义的\paragraph{}。在标准 LaTeX 样式中,段落不会换行。这是一个经典的问题,有几种解决方法(例如这里那里),这里我将使用那个。对于该解决方案,我们需要在 LaTeX 标头中包含以下代码:

\hypertarget{level-1}{%
\section{Level 1}\label{level-1}}

Text 1

\hypertarget{level-2}{%
\subsection{Level 2}\label{level-2}}

Text 2

\hypertarget{level-3}{%
\subsubsection{Level 3}\label{level-3}}

Text 3

\hypertarget{level-4}{%
\paragraph{Level 4}\label{level-4}}

Text 4

\hypertarget{level-5}{%
\subparagraph{Level 5}\label{level-5}}

Text 5
Run Code Online (Sandbox Code Playgroud)

让我们将该代码本身保存到一个文件中,例如reformat_paragraph.tex. 现在在我们的 Rmarkdown 文档中,我们可以在标题中包含对该 LaTeX 文件的引用:

---
title: "My Rmarkdown document"
author: "me"
date: "9/19/2020"
output:
  pdf_document:
    includes:
      in_header: reformat_paragraph.tex
---
Run Code Online (Sandbox Code Playgroud)

那应该有效!