R Markdown与LaTex中的"newcommand"功能相似吗?

13 markdown latex r-markdown

R Markdown是否与LaTex的"新命令"具有相似的结构?我希望能够定义一些事情\var,\mathrm{Var}以避免在数学模式中额外输入.如果没有,人们会采取什么措施来减少降价中排版方程式的重复?

Wer*_*ner 12

使用\newcommand{\var}{\mathrm{Var}}与在LaTeX中完全一样:

在此输入图像描述

---
title: "Untitled"
author: "An Author"
date: "January 15, 2017"
output: html_document
---

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

\newcommand{\var}{\mathrm{Var}}

## R Markdown

This is an R Markdown document. $\var+2$ Markdown is a simple formatting syntax for 
authoring HTML, PDF, and MS Word documents. For more details on using R Markdown 
see <http://rmarkdown.rstudio.com>.
Run Code Online (Sandbox Code Playgroud)

请注意,为了使它能够输出正确处理,你将不得不使用$...... $.


qwr*_*qwr 6

\DeclareMathOperator为了解决需要出现在序言中的要求,请使用\operatorname

\newcommand{\Var}{\operatorname{Var}}

$\Var(X)$
Run Code Online (Sandbox Code Playgroud)

\operatorname比 更好地处理间距\mathrm

为了在 HTML 输出中正确使用,你的 LaTeX 应该与 single或 double\newcommand内联。这也适用于类似的环境。$$$\begin{align*}

---
title: "Test"
author: "qwr"
date: "January 22, 2019"
output: html_document
---

\newcommand{\Var}{\operatorname{Var}}

$\Var(X)$

$$
\begin{align*}
\Var[Y] &= x \\
&= 3
\end{align*}
$$
Run Code Online (Sandbox Code Playgroud)


low*_*rul 5

我正在使用bookdown并且需要在 pdf、html 和 docx 输出中始终如一地工作。上述解决方案都不适用于我的情况。这是我确定的黑客:

序言.tex

\usepackage{amsthm}
\DeclareMathOperator*{\argmin}{argmin}
\newcommand{\var}{\mathrm{Var}}
Run Code Online (Sandbox Code Playgroud)

YAML 头文件:

--- 
title: "A Minimal Book Example"
author: "Yihui Xie"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
output: 
  bookdown::pdf_book:
    includes:
      in_header: preamble.tex
    toc: no
  bookdown::word_document2:
    reference_docx: template.docx
  bookdown::gitbook:
    split_by: none
documentclass: article
bibliography: [book.bib, packages.bib]
biblio-style: apalike
link-citations: yes
---

<!--- For HTML Only --->
`r if (!knitr:::is_latex_output()) '
$\\DeclareMathOperator*{\\argmin}{argmin}$
$\\newcommand{\\var}{\\mathrm{Var}}$
'`

<!--- For DOCX Only --->
`r if (!knitr:::is_latex_output() & !knitr:::is_html_output()) '
\\DeclareMathOperator*{\\argmin}{argmin}
\\newcommand{\\var}{\\mathrm{Var}}
'`
# Prerequisites

This is a _sample_ book written in **Markdown**.
Run Code Online (Sandbox Code Playgroud)

  • @Iowndrul:感谢您提供 PDF 和 HTML 的书籍下载选项!对我来说,它对于像“\newcommand{\var}{\mathrm{Var}}”这样的数学元素效果很好。但是,由于某种原因,它不适用于纯文本,即如果我想为长单词创建快捷方式,例如“\newcommand{\short}{AreallylongwordIhavetotypefrequently}”。您知道有什么解决办法吗?我强烈建议使用 \short 而不是 `r Short`,如此处提出的 /sf/ask/3670702521/?noredirect=1&amp;lq=1 (2认同)