Может ли Pandoc помечать текст внутри блока кода?

Вы можете использовать np.sign в комбинации с np.diff и np.argwhere для получения индексов точек, где пересекаются линии (в этом случае точки [ 0, 149, 331, 448, 664, 743]):

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 1000)
f = np.arange(0, 1000)
g = np.sin(np.arange(0, 10, 0.01) * 2) * 1000

plt.plot(x, f, '-')
plt.plot(x, g, '-')

idx = np.argwhere(np.diff(np.sign(f - g))).flatten()
plt.plot(x[idx], f[idx], 'ro')
plt.show()

Сначала он вычисляет f - g и соответствующие знаки, используя np.sign. При применении np.diff отображаются все позиции, где изменяется знак (например, пересекаются линии). Используя np.argwhere, мы получаем точные индексы.

2
задан mmorin 16 January 2019 в 10:12
поделиться

2 ответа

Нет, не по умолчанию. Откуда pandoc должен знать, что <mark> не является частью вашего кода?

Однако вы можете написать фильтр pandoc , который соответствует каждому блоку кода и преобразует его в необработанный HTML блок. Что-то вроде (не проверено):

function CodeBlock(elem)
  html = "<pre>" .. elem.text .. "</pre>"
  return pandoc.RawBlock("html", html)
end

Обратите внимание, что вам нужно убедиться, что у вас нет другого неэкранированного HTML в ваших блоках кода.

Обновление

Если вам также нужна подсветка синтаксиса, возможно, вы захотите попробовать фильтр кодов пандока-подчеркивания .

0
ответ дан mb21 16 January 2019 в 10:12
поделиться

Если вы всегда будете отмечать целые строки, вы можете использовать CSS для этого.

Кодовому блоку должен быть присвоен идентификатор, чтобы упростить его нацеливание.

``` {#types-demo .python}
def func(a: int) -> List[int]:
   return [a]
```

. Чтобы выделить первую строку, включите это в свой документ:

```{=html}
<style>
#types-demo-1 {
    background-color: #ff0;
} 
</style>
```

Подсветка синтаксиса должен продолжать работать.

0
ответ дан tarleb 16 January 2019 в 10:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: