R Markdown similar feature to "newcommand" in LaTex?

To get around the requirement of \DeclareMathOperator needing to be in the preamble, use \operatorname:

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

$\Var(X)$

(\operatorname handles spacing better than \mathrm)

To use \newcommand properly in HTML output, your LaTeX should be in-line with single $ or in double $$. This applies to environments like \begin{align*} too.

---
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*}
$$

Use \newcommand{\var}{\mathrm{Var}} exactly like you would in LaTeX:

enter image description here

---
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>.

Note that in order for it to be processed correctly in the output, you'll have to use $...$.


I'm using bookdown and need to have something that works consistently across pdf, html, and docx output. None of the above solutions worked for my case. Here is the hack I settled on:

preamble.tex

\usepackage{amsthm}
\DeclareMathOperator*{\argmin}{argmin}
\newcommand{\var}{\mathrm{Var}}

YAML Header:

--- 
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**.