Когда я вставляю блок кода C в файл режима org, выделение синтаксиса и отступ исходного кода настраиваются так, как я хотел.
Когда я экспортирую его в html-файл, подсветка синтаксиса в html-файле точно такая же, как в Emacs. Но подсветка синтаксиса лучше работает с цветовой темой моего Emacs. Например,
{
символ белого цвета в моем блоке кода C, но моя цветовая тема темная. Если я экспортирую его в html, фон html-файла тоже белый, это означает, что вы не можете видеть его{
в блоке исходного кода Экспортированный HTML даже думал, что это там.Отступы исходного кода нормальны в моем Emacs (как я его настраивал), но отступ исходного кода в экспортированном HTML-файле будет другим, он добавляет больше места для отступов.
Если я экспортирую тот же самый файл org
emacs -q
, они будут обычными в экспортированном html-файле, но подсветка синтаксиса и отступ исходного кода будутdefault
конфигурацией Emacs. Таким образом, это означает, что настройки шрифтовinit.el
будут влиятьorg-export
.
Итак, мой вопрос: когда я экспортирую файл режима org, который содержит блок исходного кода, в html-файл (или, возможно, в другие форматы, такие как PDF), можно ли избавиться от всей моей конфигурации граней шрифтов о исходник и делай как в emacs -q
?
Обновление :
Вторая проблема решается путем установки (setq org-src-preserve-indentation t)
либо в файле инициализации, либо путем его запуска через M-:
( eval-expression
).
Обновление 2 :
Первая проблема решается с помощью Задать фон экспортированных из org блоков <code> в соответствии с темой .
Третья проблема не важна, если 1-я и 2-я проблемы решены.
источник
emacs -q
стиль по умолчанию вместоcustom/theme.css
?emacs_default_theme.css
org-html-fontify-code
, чтобы он устанавливал тему по умолчанию до фонификации, а затем восстанавливал более раннюю тему.no-theme-inherit
аргумент для # + BEGIN_SRC, например,#+BEGIN_SRC haskell no-theme-inherit .. #+END_SRC
который просто использовал информацию о кодировке по умолчанию для кода emacs, в данном случае Haskell.Я нашел простое решение / обходной путь для цветной проблемы. Перед экспортом введите
M-x customize-themes
и включитеleuven
тему. Это тема со светлым фоном, которая подходит для печати кода на белой бумаге. После экспорта снова отключите тему, и вы вернетесь к исходным цветам.Я почему-то предположил, что мне придется придумать какой-то сложный способ переключения конфигурации для экспорта, поэтому я рад, что это было так просто!
Если вы делаете это часто, возможно, стоит посоветовать функции экспорта HTML сделать это автоматически:
источник