Джулия - неверная escape-последовательность, вызванная уравнением отображения - PullRequest
0 голосов
/ 17 сентября 2018

Документация Джулии гласит:

Большие уравнения LaTeX, которые не помещаются в строку внутри абзаца, могут быть записывается как отображение уравнений с использованием огороженного кодового блока с "язык" математика, как в примере ниже.

```math
f(a) = \frac{1}{2\pi}\int_{0}^{2\pi} (\alpha+R\cos(\theta))d\theta
```

Однако в одном из моих проектов встроенное математическое выражение, похоже, вызывает ошибку «недопустимая escape-последовательность»:

"""
...


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

...
"""

Правильно ли я понял использование уравнений отображения в документации?

Версия Julia - 0,7

.

1 Ответ

0 голосов
/ 17 сентября 2018

В строке есть escape-последовательность, поэтому вы можете использовать либо raw string:

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

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

или escape \ (это менее удобно):

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

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

Наконец, если вы используете модуль Markdown, вы можете использовать строку doc следующим образом:

julia> using Markdown

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

julia> println(s)
$$
G_u \sim PY(d_{|u|}, \theta_{|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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...