Изменение размера или стиля шрифта Pandoc monospace в выводе DOCX
при использовании блоков кода markdown результирующий размер шрифта monospace слишком велик в документах DOCX.
Я могу настроить размер шрифта абзацев, указав пользовательский шаблон.файлы DOCX file, но по какой-то причине сгенерированные блоки кода не используют стиль абзаца, в отличие от большинства других сгенерированных выходных данных.
есть ли способ, чтобы:
сделать блоки кода использовать определенный стиль, чтобы я мог переопределить стиль в шаблон.файлы DOCX
переопределить шрифт monospace, используемый в представлении DOCX блоков кода?
обновлено для уточнения: Я использую внешнюю ссылку.docx на основе ранее созданного docx, как описано в комментариях. Изменяя стили для heading1 и т. д., Я имею разумный контроль над выходом. Проблема в том, что сгенерированный моноширинный текст не использует именованный стиль, он просто "нормальный" с некоторыми изменениями. Так У меня нет способа изменить его в шаблоне, если я также не изменю размер всего "нормального" текста.
2 ответов
Pandoc, при создании документов DOCX (MS Word) использует ссылка.файлы DOCX. Это должно быть дано в командной строке Pandoc. Затем Pandoc извлекает все стили по умолчанию и параметры форматирования (если они не используют пользовательские имена) из этого справочного DOCX и применяет их к сгенерированному DOCX:
pandoc -t docx -o out.docx in-markdown.txt --reference-docx=my.docx
лучший способ прийти к Pandoc-полезной справочной DOCX-создать первый простой DOCX с помощью Pandoc, а затем взять его на слово установка, откройте его и изменить стили, которые будут использоваться вами по своему вкусу. Затем сохраните его, верните в Pandoc и используйте в качестве ссылки.
для ODT (LibreOffice/OpenOffice/OpenDocument) в дополнение к reference.odt
(который вы можете использовать с --reference-odt
флаг), есть также шаблон. Шаблон по умолчанию можно распечатать с помощью pandoc -D odt
, затем измените его и используйте его с pandoc -o out.odt --template=modifiedTemplate.odt
последний совет: используйте последнюю версию Pandoc! (Ток 1.13.2.1. В конце этого месяца ожидается 1.14.) Его поддержка DOCX значительно улучшилась в последних выпусках.
используя Pandoc 1.17.2 и Word 2013 я, наконец, нашел решение, кажется, более поздние версии Pandoc использует связанный стиль, который по умолчанию скрыт в Word.
Шаг 1: Создайте пользовательский файл шаблона с помощью
pandoc -o template_1.17.2.docx test.md
где тест.md включает исходный код и все другие стили, которые вы можете изменить. Например:
~~~~
this is preformatted source using style "Source Code"
~~~~
~~~ xml
<this> is preformatted source using "KeyworkTok" and "NormalTok"</this>
~~~
открыть template_1.17.2.docx в Word. Предварительно отформатированный источник теперь отформатирован с помощью скрытый связаны стиль "исходный код". Этот стиль не отображается в области предварительного просмотра стилей по умолчанию, его можно добавить, настроив панель предварительного просмотра стилей, щелкнув крошечный квадрат со стрелкой в правом нижнем углу панели предварительного просмотра стилей.
измените этот стиль, как вы хотите, и сохраните шаблон. Затем создайте документ на основе этого шаблона:
pandoc --reference-docx=template_1.17.2.docx -o mydoc.docx mydoc.md
Теперь вы должны увидеть источник, правильно отформатированный в mydoc.
@LinusR предполагает, что другой источник стили использует разные стили макета. В качестве примера я добавил XML. Форматированный XML будет использовать "KeywordTok"и " NormalTok".