如何在Rmarkdown中实现完整的LaTeX语法?

时间:2018-11-24 17:37:22

标签: latex r-markdown tex

关于在Rmarkdown中使用LaTeX,我有一个两部分的问题:

1)在Rmarkdown中工作(旨在渲染为PDF)时,是否有规则规定何时仅使用双美元符号($$)在LaTeX中编写内容或何时使用LaTeX语法开始和结束我们所有的LaTeX代码(例如\ documentclass {...},\ begin {document},\ end {document}等)。

我相信我已经读到可以只使用后一个选项,并且如果将文档呈现为PDF以外的任何格式,Rmarkdown将忽略所有转义的乳胶命令。

2)在这种情况下,我问的原因是我试图在我正在编写的Rmarkdown文档中合并一些标记矩阵乘法。具体来说,我想包括一些在this page上采用show形式的矩阵。这是代码:

\documentclass{article}
\usepackage{amsmath}

\newenvironment{spmatrix}[1]
 {\def\mysubscript{#1}\mathop\bgroup\begin{pmatrix}}
 {\end{pmatrix}\egroup_{\textstyle\mathstrut\mysubscript}}

\begin{document}
\begin{equation}
\begin{spmatrix}{A}
    a & b \\
    c & d
\end{spmatrix}
\begin{spmatrix}{x}
    x_1 \\
    x_2
\end{spmatrix}
=
\begin{spmatrix}{b}
    b_1  \\
    b_2
\end{spmatrix}
\end{equation}
\end{document}

如何在Rmarkdown中实现此代码?您是否需要按照other threads discussing the loading of LaTeX packages in Rmarkdown中的建议将\ usepackage调用移至YAML中? Rmarkdown文档中是否甚至还需要第一行\documentclass{article}

我对所有这些都是新手,到目前为止,我已经能够通过使用双美元符号来设置我所有的LaTeX代码,以获得简单的方程式,甚至是到处都是的简单矩阵尝试编写,但是对于需要更多格式,对齐方式,多行证明等的数学表达式,我遇到的大多数示例都在TEX板上,其语法类似于上面的代码。我还无法弄清楚如何在Rmarkdown中实现这些类型的示例。任何有助于更好地理解此问题的有用建议或指示,将不胜感激!

1 个答案:

答案 0 :(得分:1)

确实可以将大多数主体级别的LaTeX构造放入您的Rmd文件的主体中。其他后端将忽略这些构造,但结果可能看起来有所变化。因此,从我的角度来看,您正在将自己绑定到PDF输出。但这可能适合您的情况。

关于您的具体问题:

  • amsmath已包含在默认模板中,该模板还可以处理\ḑocumentclassdocument环境。
  • 您需要将环境定义添加到单独的tex文件(在我的情况下为preamble.tex)中,并通过YAML标头包含该文件。
  • 然后您可以像在Rmd正文中一样使用LaTeX构造。

放在一起:

---
output:
  pdf_document: 
    keep_tex: yes
    includes:
      in_header: preamble.tex
---

\begin{equation}
\begin{spmatrix}{A}
    a & b \\
    c & d
\end{spmatrix}
\begin{spmatrix}{x}
    x_1 \\
    x_2
\end{spmatrix}
=
\begin{spmatrix}{b}
    b_1  \\
    b_2
\end{spmatrix}
\end{equation}