Julia - 由显示方程触发的无效转义序列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Julia - 由显示方程触发的无效转义序列相关的知识,希望对你有一定的参考价值。

Julia documentation说:

不适合段落内嵌的大型LaTeX方程式可以使用带有“语言”数学的隔离代码块写为显示方程式,如下例所示。

```math
f(a) = frac{1}{2pi}int_{0}^{2pi} (alpha+Rcos(	heta))d	heta
```

但是,在我的一个项目中,内联数学表达式似乎触发了“无效的转义序列”错误:

"""
...


```math
G_u sim PY(d_{|u|}, 	heta_{|u|}, G_{pi(u)})
```

...
"""

我是否错误地理解了文档中显示方程的用法?

朱莉娅版本是0.7

答案

您在字符串中有转义序列,因此您可以使用raw字符串:

julia> s = raw"""
       ```math
       G_u sim PY(d_{|u|}, 	heta_{|u|}, G_{pi(u)})
       ```
       """
"```math
G_u \sim PY(d_{|u|}, \theta_{|u|}, G_{\pi(u)})
```
"

julia> println(s)
```math
G_u sim PY(d_{|u|}, 	heta_{|u|}, G_{pi(u)})
```

或逃离(这不太方便):

julia> s = """
       ```math
       G_u \sim PY(d_{|u|}, \theta_{|u|}, G_{\pi(u)})
       ```
       """
"```math
G_u \sim PY(d_{|u|}, \theta_{|u|}, G_{\pi(u)})
```
"

julia> println(s)
```math
G_u sim PY(d_{|u|}, 	heta_{|u|}, G_{pi(u)})
```

最后,如果你使用Markdown模块,你可以像这样使用doc字符串:

julia> using Markdown

julia> s = doc"""
       ```math
       G_u sim PY(d_{|u|}, 	heta_{|u|}, G_{pi(u)})
       ```
       """
G_u sim PY(d_{|u|}, 	heta_{|u|}, G_{pi(u)})

julia> println(s)
$$
G_u sim PY(d_{|u|}, 	heta_{|u|}, G_{pi(u)})
$$

编辑:现在观察doc如上所述用$$包装数学。 doc也只处理$,例如插值在doc内工作,而raw则尽可能原始:)。最后doc不生成字符串,但Markdown.MD对象。例如:

julia> using Markdown

julia> raw"""$x = 1"""
"$x = 1"

julia> doc"""$x = 1"""
1

  = 1

julia> """$x = 1"""
"1 = 1"

julia> typeof(doc"""$x = 1""")
Markdown.MD

以上是关于Julia - 由显示方程触发的无效转义序列的主要内容,如果未能解决你的问题,请参考以下文章

弃用警告:无效的转义序列 - 用啥代替 \d?

Swift UITesting 错误:文字中的转义序列无效。 \U201c

如何在Python中修复“DeprecationWarning:无效的转义序列”?

io.netty.handler.codec.http.multipart.HttpPostRequestDecoder$ErrorDataDecoderException:错误的字符串无效的转义序列

C++特殊字符转义序列

如何在Julia中为结构实现自定义序列化/反序列化?