Разрешить необработанный HTML в коде LaTeX с помощью Pandoc

Я знаю, что включение необработанного HTML в документы Markdown с помощью Pandoc возможно, поэтому мне было интересно, есть ли способ разрешить это в документах LaTeX.

Pandoc преобразует символы меньше и больше, чем символы, в сущности HTML, если они включены в документ LaTeX (даже если они находятся внутри дословно). это имеет смысл, но это не то, что я хочу.

1 ответ

Решение

Лучше всего использовать специально отмеченные verbatim окружение, которое затем можно преобразовать в желаемый целевой формат через фильтр Lua. Например, добавить %%%html пометьте в качестве первой строки стенографическое окружение, затем вставьте HTML-код, который вы хотите сохранить:

\begin{verbatim}
%%%html
<aside>Embedding raw HTML can be helpful</aside>
\end{verbatim}

Pandoc будет читать это как обычный блок кода, но нам нужен необработанный блок HTML. Мы используем фильтр, чтобы преобразовать его:

function CodeBlock(cb)
  local rawHtml = cb.text:match('^%s*%%%%%%html\n(.*)')
  if rawHtml then
    return pandoc.RawBlock('html', rawHtml)
  end
end

Сохраните вышеупомянутое в файл и используйте это как аргумент pandoc's --lua-filter вариант.

Другие вопросы по тегам