Est-il possible de supprimer '\ emsp' du rapport d'horloge mais de conserver l'indentation?

19

Est-il possible de remplacer '\ emsp' par des espaces simples?

C'est-à-dire que dans les rapports Clock, il y a beaucoup de ces '\ emsp'. (Voir l'exemple ci-dessous.)

Je peux m'en débarrasser en mettant ': indent nil'. Mais cela supprime tous les tirets, ce qui est indésirable. Je peux aussi m'en débarrasser si j'exporte des choses. Mais dans la vue Agenda, je n'exporte pas de rapports et les \ emsp ne sont qu'une distraction visuelle.

Jusqu'à présent, j'ai pu supprimer les mots clés 'TODO' via le formateur comme décrit ici . Mais le formateur ne semble pas voir le '\ emsp' et ne peut pas les supprimer. Il semble qu'ils aient été ajoutés après.

|-----------+-------------------------------------------------------------------+---------+------|
| dev.org   | *File time*                                                       | *9:54*  |      |
|           | Dev                                                               | 9:54    |      |
|           | \emsp Configure VMs for testing [[elisp:(my/goto-parent)][parent]]                            |         | 5:03 |
|           | \emsp test if DND works in outline view in Mars (4.5) Build id: I20150217-0800 has outline view fixed (RHBZ#1012336). |         | 0:16 |
|           | \emsp GtkMenuItem directly instead of GtkImageMenuItem            |         | 1:28 |
|           | \emsp Bug 459487 - [GTK] Replace deprecated gtk_arrow_* with gtk_image |         | 1:31 |
|           | \emsp General                                                     |         | 1:36 |
Leo Ufimtsev
la source
La réponse de Boutros est correcte, assurez-vous simplement de ne pas la mettre dans un fichier appelé org-table.el, sinon vos tables exploseront.
Dr Bombay

Réponses:

25

Ceci est un bug, OMI. Quelqu'un s'est plaint que les anciens marqueurs d'indentation bouleversaient la disposition de la table dans la sortie latex, alors quelqu'un les a remplacés par ces instructions latex. Maintenant, bien sûr, c'est un gâchis à l'écran.

J'ai pensé que le nouveau prettify-symbols-modepourrait être un moyen pratique de changer le \emsppour quelque chose d'autre, mais cela ne peut être remplacé que par un seul caractère et cela perturbe la disposition de la table en raison de la largeur changeante.

Il n'y a donc rien d'autre à redire que le code d'indentation:

(defun my-org-clocktable-indent-string (level)
  (if (= level 1)
      ""
    (let ((str "^"))
      (while (> level 2)
        (setq level (1- level)
              str (concat str "--")))
      (concat str "-> "))))

(advice-add 'org-clocktable-indent-string :override #'my-org-clocktable-indent-string)

Modifiez les marqueurs de retrait au goût.

Boutros Boutros Ail
la source
Dommage pour les incohérences. Ce serait bien de le faire réparer un jour. La fonction ci-dessus corrige les choses pour moi, merci d'avoir posté.
Leo Ufimtsev
Il semble que j'ai besoin d'emacs 24.4 pour que cela fonctionne. Le me passe de Fedora 20 à 21.
Leo Ufimtsev
Works in Emacs 24.4
Leo Ufimtsev
1
ceci est fondamentalement fixé en mode org 8.3, vous pouvez donc réutiliser cette fonction à la place: orgmode.org/cgit.cgi/org-mode.git/tree/lisp/org-clock.el#n2685
anarcat
J'utilise ceci avec ╰ comme marqueur initial et ─ au lieu de tirets (Mx insert-char BOX DRAWINGS LIGHT ARC UP AND RIGHT et BOX DRAWINGS LIGHT HORIZONTAL). Ça a l'air plutôt bien - merci! ╰─> E-Mails lesen
Arne Babenhauserheide
3

Le manuel sur les symboles spéciaux dit

Si vous souhaitez voir les entités affichées sous forme de caractères UTF-8, utilisez la commande suivante:

Cc Cx \

Bascule l'affichage des entités en caractères UTF-8. Cela ne change pas le contenu du tampon qui reste en simple ASCII, mais il superpose le caractère UTF-8 à des fins d'affichage uniquement.

Vous pouvez l'activer par défaut en définissant la variable org-pretty-entities, ou sur une base par fichier avec l'option #+STARTUP: entitiespretty.

Bae
la source
Puis-je me remercier d'avoir posté ça! J'en avais besoin 6 mois plus tard: P
Bae