Lorsque j'insère un bloc de code C dans un fichier en mode org, la coloration syntaxique et l'indentation du code source sont personnalisées comme je le souhaitais.
Lorsque je l'exporte dans un fichier html, la mise en évidence de la syntaxe dans le fichier html est exactement la même que dans Emacs. Mais la mise en évidence de la syntaxe fonctionne mieux avec le thème de couleur de mes Emacs. Par exemple, le
{
symbole est blanc dans mon bloc de code C, mais mon thème de couleur est sombre, si je l'exporte en html, l'arrière-plan du fichier html est également blanc, cela signifie, vous ne pouvez pas voir{
dans le bloc de code source de exporté html même pensé qu'il est là.L'indentation du code source est normale dans mes Emacs (comme je l'ai personnalisé), mais l'indentation du code source dans le fichier html exporté sera différente, cela ajoute plus d'espaces d'indentation.
Si j'exporte le même fichier org dans
emacs -q
, ils sont normaux dans le fichier html exporté, mais la coloration syntaxique et le retrait du code source seront ladefault
configuration d'Emacs. Cela signifie donc que les configurations des faces de policeinit.el
affecterontorg-export
.
Donc, ma question est: quand j'exporte un fichier en mode org qui contient un bloc de code source dans un fichier html (ou peut-être d'autres formats tels que PDF également), est-il possible de se débarrasser de toute ma propre configuration de polices sur le le code source et le faire comme dans emacs -q
?
Mise à jour :
Le deuxième problème est résolu en définissant (setq org-src-preserve-indentation t)
soit dans le fichier init, soit en l'exécutant via M-:
( eval-expression
).
Update2 :
Le premier problème est résolu en définissant l'arrière-plan des blocs <code> exportés par l'organisation en fonction du thème .
Le troisième problème n'est pas important si les 1er et 2e problèmes sont résolus.
la source
emacs -q
style par défaut au lieu decustom/theme.css
?emacs_default_theme.css
org-html-fontify-code
telle sorte qu'il définit le thème par défaut avant la police, puis restaure le thème précédent.no-theme-inherit
argument à # + BEGIN_SRC, par exemple#+BEGIN_SRC haskell no-theme-inherit .. #+END_SRC
qui utilise simplement les informations de police par défaut emacs pour le code, dans ce cas Haskell.J'ai trouvé une solution / contournement simple pour le problème de couleur. Avant d'exporter, saisissez
M-x customize-themes
et activez leleuven
thème. C'est un thème avec un fond clair qui semble adapté à l'impression de code sur du papier blanc. Après l'exportation, désactivez à nouveau le thème et vous reviendrez avec vos couleurs d'origine.J'ai supposé que je devrais trouver une façon compliquée de changer de configuration pour l'exportation, donc je suis soulagé que ce soit aussi simple!
Si vous faites cela souvent, il peut être utile de conseiller à la fonction d'exportation HTML de le faire automatiquement:
la source