Блок кода Pandoc не выровнен с использованием Eisvogel и Markdown

Блок кода Pandoc не выровнен с использованием Eisvogel и Markdown

Привет, это снова я, и у меня есть то, что больше не дает мне спать.

Я использую популярныйАйсфогельШаблон Pandoc для рендеринга моих файлов markdown в PDF. Пока все работает великолепно, но я только что заметил, что цитаты не выровнены с остальной частью документа. Я проверилeisvogel.латексфайл, но я не мог понять, в чем проблема.. Это сводит меня с ума. По какой-то причине эти блоки на несколько точек шире... Смотрите изображения ниже, но будьте осторожны, это может спровоцировать сбой.

введите описание изображения здесь

Увеличено, поэтому отчетливо видно, что блоки кода на несколько пунктов шире остального содержимого (затронуты левая и правая части).

Левый:

введите описание изображения здесь

Верно:

введите описание изображения здесь

Мне нужна ваша помощь! Я снова смогу спать. :(

решение1

При использовании библиотеки Haskell skylighting по умолчанию для подсветки кода pandoc набирает листинги кода в среде, называемой " Shaded", которую он определяет как snugshadeсреду изпакет в рамке.

Эта среда определена таким образом, что начало текста находится на своем обычном месте, но для затененной области предусмотрен отступ, так что она выходит за пределы обычной области набора.

Однако этот пакет также предоставляет версию со звездочками, в которой отступ для затененной области находится внутри обычной области набора текста, а не снаружи, поэтому сам текст внутри имеет небольшой отступ с обеих сторон.

Поэтому одно из действий, которое вы можете выполнить, — это переопределить среду pandoc, Shadedчтобы использовать ее:

\renewenvironment{Shaded}{\begin{snugshade*}}{\end{snugshade*}}

Вы можете поместить это либо в свой документ markdown, либо в параметр yaml header-includes:, либо, что наиболее уместно, в конец файла, ./LaTeX/headers.texкоторый вы включаете в преамбулу с помощью параметра pandoc -H.

Поскольку у меня нет вашего my.themeстиля выделения, а тема Kate, на которой он основан, использует белый фон, я не смог его протестировать, но вот результат использования этой breezedarkтемы:

codeblock с snugshade*

Связанный контент