web-dev-qa-db-ja.com

LaTexの「newcommand」に似た機能をマークダウンしますか?

R Markdownには、LaTexの「newcommand」と同様の構成がありますか?数学モードでの余分な入力を避けるために、\varのようなものを\mathrm{Var}に定義できるようにしたいと思います。そうでない場合、マークダウンで組版方程式の繰り返しを減らすために人々は何をしますか?

14
user7419864

LaTeXの場合とまったく同じように\newcommand{\var}{\mathrm{Var}}を使用します。

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

出力で正しく処理されるためには、$...$を使用する必要があることに注意してください。

12
Werner

私はbookdownを使用しており、pdf、html、およびdocxの出力全体で一貫して機能するものが必要です。上記の解決策はどれも私の場合はうまくいきませんでした。これが私が解決したハックです:

preamble.tex

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

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

前文に含める必要がある\DeclareMathOperatorの要件を回避するには、 \operatornameを使用

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

$\Var(X)$

\operatorname\mathrm よりも間隔を適切に処理します)

HTML出力で\newcommandを適切に使用するには、LaTeXがシングル$またはダブル$$とインラインである必要があります。これは、\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*}
$$
3
qwr

ビーマープレゼンテーションとして出力する場合、特に方程式モード($。$ではなく$$。$$)を使用する場合、上記の解決策に問題がありました。新しいコマンドを別のファイルに入れると、問題が修正されました。

---
title: Title
author: Author
date: "8/22/2018"
output:
  beamer_presentation:
    includes:
      in_header: preamble.tex
---

Preamble.texにユーザー定義のコマンドが含まれている場合

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

次に、コマンドをインライン($\var $)と方程式モード($$\var $$)の両方で使用できます。

フレーム番号などの他のものをpreamble.texに入れることもできます。

1
Julia Schedler