Si j'écris quelque chose comme *shrug*
en mode org, il sera automatiquement police en texte gras . Comment puis-je empêcher cela, c'est-à-dire avoir réellement *shrug*
apparaître textuellement lors de l'exportation?
Éditer:
Je veux toujours pouvoir utiliser une police en gras (sans avoir à changer la syntaxe en étoile par défaut pour le texte en gras), et le format de fichier exporté par mon fichier d'organisation ne devrait pas avoir d'importance, par exemple, il devrait fonctionner pour Markdown ainsi que pour HTML exportation.
Il s'agit de choses importantes , c'est pourquoi elles sont écrites en gras. Mais pour autre chose, je n'ai aucune idée * haussement d'épaules *.
\ast{}shrug\ast{}
ou\star{}shrug\star{}
, similaire, avec HTML, vous pouvez utiliser le codage d'entité:,a;
ou si l'ajout d'espaces avant ou après l'astérisque est une option, cela fonctionnerait aussi.code
-tag, et dans le démarque a des backticks. Je veux qu'il ne soit pas du tout formaté.\ast{}shrug\ast{}
mentionné par wvxvw est probablement votre meilleure option. il exporte vers html∗shrug∗
et vers latex en$\ast$shrug$\ast$
utilisant les entités de caractères appropriées.org-toggle-pretty-entities
les affiche sous forme de caractères UTF8 dans le tampon d'organisation.Réponses:
Cette réponse est inspirée des suggestions collectives sur la liste GNU emacs-org-mode d'utiliser le
org-entity
(C-h i g
(org) Special symbols
)\ast{}
au lieu des caractères d' espace de largeur nulle (ce que j'ai suggéré dans mon autre réponse ici ).Voici une solution générique où l'utilisateur n'a pas besoin de se souvenir des entités organisationnelles pour divers symboles. Il insère l'entité org (si disponible) lorsque l'utilisateur le fait
C-u SYMBOL
; fonctionne pourC-u *
,C-u /
,C-u =
, etc.Ainsi, lorsque l'utilisateur tape
C-u *
,\ast{}
est inséré et le message ci-dessous s'affiche dans la zone d'écho,Si
org-pretty-entities
est réglé surt
ci-dessus, l'inséré\ast{}
sera affiché comme*
.Si an
org-entity
n'existe pas pour un caractère X et si l'utilisateur faitC-u
X , X est simplement inséré 4 fois (comme d'C-u
habitude).la source
\*thisisnotbold\*
n'existe?org-entities
documentation.Utilisation du caractère unicode ZERO WIDTH SPACE
Vous pouvez échouer l'analyse en gras en ajoutant un caractère d'espace de largeur nulle (indiqué par [ZWS] dans les extraits ci-dessous) avant le premier astérisque ou après le deuxième astérisque.
Les deux extraits ci-dessous ont été exportés correctement au format HTML dans mes tests:
[ZWS] avant le premier astérisque
[ZWS] après le deuxième astérisque
Vous pouvez entrer l'ESPACE LARGEUR ZÉRO (nom unicode) en faisant
C-x 8
RET200b
RET.Je l'utilise très souvent, donc je l'ai lié à
C-x 8 0
.Mise à jour
Selon la discussion sur la liste de diffusion emacs-org-mode , l'utilisation de caractères non ASCII pour l'échappement n'est pas recommandée; au lieu
org-entities
doit être utilisé le cas échéant. Moi aussi, j'étais d'accord avec cela et j'ai trouvé une autre solution qui rend l'insertionorg-entities
très facile (C-u *
dans ce cas).la source
[email protected]
liste de diffusion. Si vous êtes intéressé, vous pouvez suivre / compléter la discussion ici .\ast{}
dans les fichiers. Mon autre solution rend tout simplement l'entrée\ast{}
plus rapide et plus facile à retenir.Par mot à mot, si vous voulez réellement utiliser un balisage dans le LaTeX exporté, vous pouvez simplement l'utiliser
=*shrug*=
. Cependant, si vous souhaitez simplement l'exporter en tant que*shrug*
, et que vous souhaitez le faire tout le temps, je recommanderais des filtres . Si toutefois vous n'en avez besoin que pour certaines instances de*shrug*
, vous devez utiliser l'alternative suggérée par @wvxvw. Vous pouvez le faire proprement en utilisant des macros . Quelques exemples suivent.Filtres
Essentiellement, le filtre ci-dessus recherche le
\textbf{..}
balisage dans la chaîne transcodée et le remplace par\ast{}..\ast{}
, sans modifier ce qui a été enveloppé à l'intérieur{..}
. Je n'ai pas testé l'expression régulière et la chaîne de remplacement, il pourrait donc y avoir des erreurs, mais vous avez compris. De même pour couvrir d'autres backends, on peut inclure des extraits supplémentaires comme celui-ci:La même mise en garde vaut pour l'expression régulière ci-dessus.
Macros
Source de l'organisation:
exporte vers LaTeX en tant que:
et en HTML comme:
Vous pouvez bien sûr ajouter autant de backends que vous le souhaitez à la macro.
Edit: comme le souligne Kaushal dans les commentaires, l'extrait d'exportation de latex est facultatif dans ce cas. Je préfère cependant les utiliser chaque fois que du latex nu est impliqué, car j'ai du mal à garder une trace de la liste
org-entities
et des règles spécifiques derrière l'identification du latex nu dans la source Org.Remarque:
HTML
, donc il pourrait y avoir des erreurs dans les bits respectifs.la source
#+macro: nobold \ast{}$1\ast{}
?ast
est l' un des membres de laorg-entities
liste, qui spécifie ce que le latex, html, ascii, les exportations etc devraient ressembler à :("ast" "\\ast" t "∗" "*" "*" "*")
. L'ordre des éléments dans cette liste est "nom, remplacement LaTeX, mathématiques LaTeX, remplacement HTML, remplacement ASCII, remplacement Latin1, remplacement utf-8".Ceci est contrôlé par la variable org-accent-alist, et peut être facilement modifié.
org-emphasis
.customize-group
et recherchez org-accentla source