Опция Pandoc `lang` делает шрифт некрасивым - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь выучить pandoc.Я использовал latex раньше, потому что я всегда имею дело с формулами, кодом.Вот простой документ, который я компилирую в pdf:

---
title: Test
...

# Test!

This is a test of *pandoc*.

- list one
- list two
- $E=mc^2$
- На русском

Горит костер рябины красной.

$$
A = \int\limits_{-\infty}^{\infty} e^{-x^2}dx
$$

```python
class ClassName(object):
    """docstring for ClassName (Кириллица?)"""
    def __init__(self, arg):
        super(ClassName, self).__init__() # English comment
        self.arg = arg # Кириллический комментарий

```

Я пробовал две разные команды для создания pdf:

  1. pandoc test1.md -o test1.pdf
  2. pandoc -V lang=ru-RU -o test1-2.pdf test1.md

Первая команда не смогла выполнить рендеринг для символов кириллицы.Более того, я всегда пишу неанглийские документы, поэтому мне нужно, чтобы документы создавались с подписями на русском языке.Я использовал свойство lang, чтобы сделать это, как подсказывает документация pandoc.Теперь, кириллические символы отображаются правильно, но если вы посмотрите на скриншот пару секунд, вы увидите, что шрифт выглядит намного страшнее, чем раньше.Особенно код.

Что происходит и как это исправить?

screenshot

1 Ответ

0 голосов
/ 27 ноября 2018

Мне было трудно настроить шрифты для латиницы, кириллицы, математики и блоков кода в соответствии с интерфейсом, предлагаемым pandoc.Лучший компромисс, который я нашел, был:

  • Установить lang равным en и разметить русские части явно.
  • Использовать шрифты XITS для обычного текста и математики
  • Используйте шрифт фиксированной ширины, который охватывает кириллицу, например, Liberation Mono
  • Процесс с XeLaTeX или LuaLaTeX

Все вместе:

---
title: Test
mainfont: XITS
monofont: Liberation Mono
mathfont: XITS Math
lang: en
---

# Test!

This is a test of *pandoc*.

- list one
- list two
- $E=mc^2$
- [На русском]{.class lang="ru-RU"}

::::: {.class lang="ru-RU"}

Горит костер рябины красной.

:::::


$$
A = \int\limits_{-\infty}^{\infty} e^{-x^2}dx
$$


```python
class ClassName(object):
    """docstring for ClassName (Кириллица?)"""
    def __init__(self, arg):
        super(ClassName, self).__init__() # English comment
        self.arg = arg # Кириллический комментарий

```

Результат pandoc cyr.md --pdf-engine=lualatex -o cyr.pdf:

enter image description here

...