答案1
尽管 Rmarkdown 允许包含 LaTeX 环境和命令,并且这应该可以按预期工作:
---
output:
pdf_document: default
---
1. foo with a \LaTeX\ command.
2. baz:
\begin{center}
bar
\end{center}
有时导出到 LaTeX 时无法识别环境,而是作为 markdown 文本进行管理。
解决方案 1:将 LaTeX 块明确标记为 LaTeX 或 TeX 代码:
---
output:
pdf_document: default
---
1. foo with a \LaTeX\ command.
2. baz:
```{=latex}
\begin{center}
bar
\end{center}
```
注意,前面应该是=latex
或=tex
等号:否则该块只会显示带有语法高亮的代码。
该解决方案的优点在于您可以传递任何 LaTeX 块,而不仅仅是一个环境。
解决方案 2:将 LaTeX 环境设为 Pandoc 的 Div 块:
---
output:
pdf_document: default
---
1. foo with a \LaTeX\ command
2. baz:
::: {.center data-latex=""}
bar
:::
这样做的好处是内容环境可以是 markdowm 语法(你可以在这里输入*bar*
而不是\emph{bar}
使用草书)。
请注意,您也可以在解决方案 1 的\begin{center}
稍后位置插入和,\end{center}
即标记两个 LaTeX 块,以在里面使用 markdown 文本,但在中 \begin{center} *foo* \end{center}
,没有 markdown 文本,只有带有两个星号的 LaTeX 单词。
答案2
一般情况下不应使用$$
,尤其是在公式中。此用法是强烈反对并且它将开始显示数学(即插入一个新段落)您不想要的内容。
此外,您可能只应该使用$...$
放在整个公式之前和之后的一对,以便在数学模式下保留元素之间的正确间距。
最后,混合 Markdown 语法和 TeX 语法在这里似乎效果不佳,因此我建议您在公式中使用\mathbf{Y}
而不是。**Y**
我不知道您的设置中是否可以使用该语法,但在 (La)TeX 中我会写(但似乎center
您的设置不支持该环境,因此也许只是省略它):
\begin{center}
$
\nabla_\mathbf{Y} f(\mathbf{Y}) =
\nabla_\mathbf{Y} (\mathbf{Y}^\top \mathbf{v} + a) =
\nabla_\mathbf{Y} (\mathbf{Y}^\top \mathbf{v}) + \nabla_\mathbf{Y} (a) =
\mathbf{v} + \mathbf{0} =
\mathbf{v}
$
\end{center}
或者可能:
\[
\nabla_\mathbf{Y} f(\mathbf{Y}) =
\nabla_\mathbf{Y} (\mathbf{Y}^\top \mathbf{v} + a) =
\nabla_\mathbf{Y} (\mathbf{Y}^\top \mathbf{v}) + \nabla_\mathbf{Y} (a) =
\mathbf{v} + \mathbf{0} =
\mathbf{v}
\]