R编织物:在标题中强制换行

问题描述 投票:1回答:2

我想在用knitr编织的R markdown文件中的长标题中强制换行,以同时输出PDF和HTML。充其量,标题的引用仍然应该起作用。针对相关问题提出的以下解决方案不能解决问题:\\\n<br><br>(后两个仅适用于HTML)。

  ---
  title: "TEST"
  author: "Tester"
  output:
    pdf_document: default
    html_document:
      df_print: paged
  ---

  # Fancy long headline in R Markdown

  \newpage

  # Not working:

  ## Fancy long headline in \\ R Markdown

  # Work in HTML only:

  ## Fancy long headline in <br> R Markdown

  ## Fancy long headline in <br /> R Markdown

  <!-- ## Fancy long headline in   \n R Markdown -->
  <!-- => `  \n` throws error in LaTex -->

  \newpage

  # Reference the headline

  Reference the [fancy long headline in r markdown] 
  or similarly in bookdown [fancy-long-headline-in-r-markdown] 
  or via [myref](fancy-long-headline-in-r-markdown).

非常感谢您的帮助。

r r-markdown markdown knitr bookdown
2个回答
2
投票

实际上,您快到了。您需要将乳胶代码放入$...$。使用此代码

---
title: "TEST"
author: "Tester"
output:
  pdf_document: default
html_document:
  df_print: paged
---

  # Fancy long headline in R Markdown

  \newpage

# Working!

## Fancy long headline in $\\$ <br> R Markdown

给予

enter image description here

enter image description here


1
投票

[如果您希望某些东西可以在PDF中工作,但不关心HTML,请定义一个新的LaTeX命令并使用它。例如,

\newcommand{\Linebreak}{\\}

## Fancy long headline in \Linebreak R Markdown

如果您希望它在两者中都可以使用,则应该这样做:

\newcommand{\Linebreak}{\\}
```{r include = FALSE}
Linebreak <- function()
  if (knitr::opts_knit$get("rmarkdown.pandoc.to") == "html")
    " <BR> " else " \\Linebreak "
```

## Fancy long headline in `r Linebreak()` R Markdown

要获得在PDF中的引用不是很困难,但是在HTML中似乎很棘手;我将它留给您或其他人解决。

© www.soinside.com 2019 - 2024. All rights reserved.