gpt4 book ai didi

r - 用于更新 R Markdown 代码以使用 `$latex` 分隔符的命令行程序

转载 作者:行者123 更新时间:2023-12-04 11:49:08 24 4
gpt4 key购买 nike

更新(2012 年 6 月 13 日): RStudio now supports a range of mathjax delimtiers包括没有 latex 的单美元符号和双美元符号.

在 0.96 RStudio changed its Mathjax syntax来自 $<equation>$$latex <equation>$对于内联方程和来自 $$<equation>$$$$latex <equation>$$对于显示的方程。

因此,总而言之:

The revised syntax adds a latex qualifier to the $ or $$ equation begin delimiter.



我有一些使用原始 $ 的现有脚本分隔符,我想更新它们以使用新的 $latex分隔符。
我在想 sed 或 awk 可能是合适的。

像这样出现在 r 代码块中的美元也不应该被更改。
```{r ...}
x <- Data$asdf
```

问题
  • 什么是一个很好的简单命令行程序,可能使用 sed 或 awk 来更新我的 R Markdown 代码以使用 R Studio 中较新的 mathjax 分隔符?

  • 工作示例 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 comment -->

    Some text

    <!-- more -->
    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 comment -->

    Some text

    <!-- more -->
    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)$$

    最佳答案

    使用 perl回顾一下,应该可以解决问题:

    perl -pe 's/\b(?<=\$)(\w+)\b /latex $1 /g' file.txt

    根据 -i 进行更改旗帜:
    perl -pe -i 's/\b(?<=\$)(\w+)\b /latex $1 /g' file.txt

    编辑:

    试试这个怪物:
    perl -pe 's/\b(?<=\$)(\w+)\b(\$?)([ =])/latex $1$2$3/g;' -pe 's/(?<=\$)(\\\w+)/latex $1/g' file.txt

    高温高压

    关于r - 用于更新 R Markdown 代码以使用 `$latex` 分隔符的命令行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10792946/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com