Программа командной строки для обновления кода R Markdown для использования разделителя `$latex`

ОБНОВЛЕНИЕ (13 июня 2012 г.):RStudio теперь поддерживает ряд разделителей mathjax, включая одиночные знаки доллара и двойные знаки доллара без латекса. .


В версии 0.96 RStudio изменил синтаксис Mathjaxс $$на $latex $для встроенных уравнений и с $ От $$$до $$latex $$для отображаемых уравнений.

Таким образом, резюмируя:

Пересмотренный синтаксис добавляет квалификатор latexк разделителю начала уравнения $ или $$.

У меня есть несколько сценариев, в которых используется исходный разделитель $, и я хотел бы обновить их, чтобы использовать новый разделитель $latex. Я думал, что sed или awk могут подойти.

Кроме того, доллары, которые появляются в r кодовых блоках, подобных этому, не должны изменяться.

```{r ...}
x <- Data$asdf
```

Вопрос

  • Какой может быть хорошая простая программа командной строки, возможно, использующая sed или awk для обновления моего кода R Markdown для использования более нового разделителя mathjax в R Studio?

Рабочий пример 1

Исходный текст:

$y = a + b x$ is the formula.
This is some text, and here is a displayed formula
$$y = a+ bx\\
x = 23$$

```{r random_block}
y <- Data$asdf
```

and some more text     
$$y = a+ bx\\
x = 23$$

после преобразования становится

$latex y = a + b x$ is the formula.
This is some text, and here is a displayed formula
$$latex y = a+ bx\\
x = 23$$

```{r random_block}
y <- Data$asdf
```

and some more text     
$$latex y = a+ bx\\
x = 23$$

Рабочий пример 2

`r opts_chunk$set(cache=TRUE)`


Some text


Observed data are $y_i$ where $i=1, \ldots, I$.  
$$y_i \sim N(\mu, \sigma^2)$$

Some text $\sigma^2$ blah blah $\tau$. 

$$\tau = \frac{1}{\sigma^2}$$

blah blah $\mu$ and $\tau$

$$\mu \sim N(0, 0.001)$$
$$\tau \sim \Gamma(0.001, 0.001)$$

должен стать

`r opts_chunk$set(cache=TRUE)`


Some text


Observed data are $latex y_i$ where $latex i=1, \ldots, I$.  
$$latex y_i \sim N(\mu, \sigma^2)$$

Some text $latex \sigma^2$ blah blah $latex \tau$. 

$$latex \tau = \frac{1}{\sigma^2}$$

blah blah $latex \mu$ and $latex \tau$

$$latex \mu \sim N(0, 0.001)$$
$$latex \tau \sim \Gamma(0.001, 0.001)$$

7
задан Jeromy Anglim 13 June 2012 в 00:38
поделиться