Недавно я начал использовать Pandoc markdown, который кажется хорошей альтернативой LaTeX, поскольку в моем документе не так много математических формул, и у меня нет НИКАКОГО опыта работы с LaTeX, что в сочетании с сроком подачи менее 2 недель делает его хорошим решением.
Одна вещь, которую я не смог придумать, - это заставить его оставить остальную часть страницы пустой, может ли кто-нибудь помочь?
Ответы:
Похоже, pandoc markdown использует для этой цели стандартные теги LaTeX:
\newpage
и\pagebreak
источник
TL; DR : используйте
\newpage
фильтр Lua ниже, чтобы получить разрывы страниц во многих форматах.Pandoc анализирует все входные данные во внутренний формат документа. В этом формате нет специального способа представления разрывов страниц, но по-прежнему можно кодировать информацию другими способами. Один из способов - использовать чистый LaTeX
\newpage
. Это отлично работает при выводе LaTeX (или PDF, созданного с помощью LaTeX). Однако при ориентации на разные форматы, такие как HTML или docx, могут возникнуть проблемы.Простым решением при нацеливании на другие форматы является использование фильтра pandoc, который может преобразовать внутреннее представление документа так, чтобы оно соответствовало нашим потребностям. Pandoc 2.0 и более поздние версии даже позволяют использовать включенный интерпретатор Lua для выполнения этого преобразования.
Предположим, мы указываем разрывы страниц, помещая
\newpage
строку, окруженную пустыми строками, например:\newpage
Будет обрабатываться как RawBlock , содержащего сырую TeX . Блок будет включен в вывод только в том случае, если целевой формат может содержать необработанный TeX (например, LaTeX, Markdown, Org и т. Д.).Мы можем использовать простой фильтр Lua, чтобы перевести это при нацеливании на другой формат. Следующее работает для docx , LaTeX , epub и облегченной разметки.
Мы опубликовали обновленную, более функциональную версию . Он доступен в официальном репозитории pandoc lua-filters .
источник
\newpage
разрывать страницы в формате вывода MS Word от pandoc. Чтобы использовать этот фильтр, сохраните код в этом ответе, например,pagebreak.lua
и вызовите pandoc с помощью--lua-filter=pagebreak.lua
Я заметил, что это не работает для форматов .doc и .odt. Обходной путь, который я нашел, заключался в том, чтобы вставить горизонтальную линию
-----------------
и отформатировать стиль «горизонтальной линии», чтобы разбить страницу и быть невидимой, используя текстовый редактор (ibre office в моем случае)источник
format the "horizontal line" style to break a page
?hr{opacity:0;page-break-after: always;}
делает свою работу. Вы можете пожертвовать другим элементом, если хотите использовать его<hr>
для чего-то другого.не могу отредактировать ответ LucasSeveryn, очередь сказала, что очередь заполнена, поэтому добавьте сюда некоторую информацию.
способ 1: + raw_tex
\newpage
и\pagebreak
нужноraw_tex
продление.// с pandoc 2.9.2.1, не работает с выводом docx или html, --verbose говорит
способ 2: + raw_attribute
https://pandoc.org/MANUAL.html#extension-raw_attribute
// также не поддерживается в формате ввода gfm.
// это работало для вывода docx, а не для вывода html.
УВЕДОМЛЕНИЕ о расширении
это требует
+raw_tex
расширения формата. который не поддерживает все варианты уценки в pandoc.https://pandoc.org/MANUAL.html#markdown-variants
так
-f markdown
будет работать, но-f gfm
не работать.расширение формата
https://pandoc.org/MANUAL.html#option--from
например
-t html+raw_tex
: output enable raw_tex-f markdown-raw_tex-raw_attribute
: input отключить raw_tex и raw_attributeисточник