【问题标题】:Get rid of R formulas outside the rmarkdown pdf borders摆脱 rmarkdown pdf 边界之外的 R 公式
【发布时间】:2021-04-06 23:57:56
【问题描述】:

我有以下问题。我在 R 中准备了一个项目,但总是遇到一个问题,即编织公式部分位于 pdf 文档之外。

Formula issue formatting description

有一个帖子有类似问题,但没有帮助(R Markdown Knitr to PDF Code Outside Margin

我也试过添加“\\”,但也没有用。

关于如何在 Rmarkdown 中组织公式中的自动换行符有什么简单的解决方案吗?我不想将 html 转换为 pdf,因为那样我会丢失所有内部引用。

如果有人能提供帮助,我将非常感激!!!

更新:

这是 rmarkdown 的示例公式:

---
title: "Code Sample"

output:

  pdf_document: default
  html_document: default

---
1) $$ (\sum_{i = 1}^{N} \|x_i - \mu - V_q \lambda_i\|^2)'_\mu = \\ 
(\sum_{i = 1}^{N} (x_i - \mu - V_q \lambda_i)^T (x_i - \mu - V_q \lambda_i))'_\mu = \\ 
= \sum_{i = 1}^{N} ((x_i - \mu - V_q \lambda_i)^T (x_i - \mu - V_q \lambda_i))'_\mu = \\ 
= \sum_{i = 1}^{N} 2 (x_i - \mu - V_q \lambda_i) \cdot (-1) = \\ 
= \sum_{i = 1}^{N} -2 \cdot (x_i - \mu - V_q \lambda_i) \\ 
\text{since the degree was 2 and the sign of $\mu$ was '-' (minus)} $$

【问题讨论】:

  • 您能否发布带有公式的 Rmarkdown 代码,以便我可以轻松地在 PDF 边距内重现长公式?谢谢
  • Danel,谢谢,已添加

标签: r r-markdown formula


【解决方案1】:

欢迎来到 SO,@Irina Mironova!

您可以试试这个,使用& 对齐和\\ 换行:

---
title: "Aligned equations"
author: "bttomio"
date: "4/7/2021"
output: pdf_document
---

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

\begingroup\small
\begin{equation}
  \begin{aligned}
ER_t 
= & \lambda_1 + \sum_{i=0}^k\alpha_{11i}ER_{t-1} + \sum_{j=k+1}^p\alpha_{12j}ER_{t-j} + \sum_{i=0}^k\beta_{11i}CT_{t-1} + \sum_{j=k+1}^p\beta_{12j}CT_{t-j} \\
+ & \sum_{i=0}^k\gamma_{11i}IRD_{t-1} + \sum_{j=k+1}^p\gamma_{12j}IRD_{t-j} + \sum_{i=0}^k\delta_{11i}VIX_{t-1} + \sum_{j=k+1}^p\delta_{12j}VIX_{t-j} \\
+ & \sum_{i=0}^k\phi_{11i}SM_{t-1} + \sum_{j=k+1}^p\phi_{12j}SM_{t-j} + \sum_{i=0}^k\psi_{11i}SMUS_{t-1} + \sum_{j=k+1}^p\psi_{12j}SMUS_{t-j} +\varepsilon_{1t}
  \end{aligned} 
\end{equation}
\endgroup

-输出


更新

按照 OP 提供的公式,这是一个工作示例:

---
title: "Code example"
author: "bttomio"
date: "4/9/2021"
output: pdf_document
---

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

\begingroup
\begin{equation}
  \begin{aligned}
(\sum_{i = 1}^{N} \|x_i - \mu - V_q \lambda_i\|^2)'_\mu = \\
(\sum_{i = 1}^{N} (x_i - \mu - V_q \lambda_i)^T (x_i - \mu - V_q \lambda_i))'_\mu = \\
\sum_{i = 1}^{N} ((x_i - \mu - V_q \lambda_i)^T (x_i - \mu - V_q \lambda_i))'_\mu = \\
\sum_{i = 1}^{N} 2 (x_i - \mu - V_q \lambda_i) \cdot (-1) = \\
\sum_{i = 1}^{N} -2 \cdot (x_i - \mu - V_q \lambda_i) \\ 
\text{since the degree was 2 and the sign of $\mu$ was '$-$' (minus)}
  \end{aligned} 
\end{equation}
\endgroup

-输出

【讨论】:

  • 这是前进的方向。就我个人而言,我会保持一致,所以对于第一行我会做ER_t = \lambda_1 + &(但这只是个人喜好)
  • 你好,谢谢:) 是的,它对我有用,但方式略有不同。我使用了 \begin{math} $$ ... $$ \end{math},否则 R 会出错。另外,这样\begingroup可以放松
  • bttomio,对不起,我太快了。我尝试了您的解决方案,并且我已经成功地通过上面描述的创新正确启动了它(没有它们,我得到了一个错误)。但是我为我的解决方案做了同样的事情(我在“更新”部分添加了),但它没有工作:R 说“!缺少 $ 插入。”能否请您说明如何解决此问题?
  • @IrinaMironova,您在寻找 pdf 或 html 输出吗?您的更新对我来说很好,没有任何错误。尽管如此,等式中没有换行符。
  • 我正在寻找 pdf 输出。
【解决方案2】:

在 PDF 输出中使用特定边距时会发生什么?

---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm"
output: pdf_document
---

【讨论】:

  • 不幸的是,它不起作用:(输出仍然在边距之外
猜你喜欢
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-29
相关资源
最近更新 更多