È possibile rimuovere '\ emsp' dal rapporto dell'orologio ma preservare il rientro?


19

È possibile sostituire '\ emsp' con spazi semplici?

Vale a dire, nei rapporti di Clock, ci sono molti di questi \ emsp. (Vedi esempio sotto.)

Sono in grado di liberarmene impostando ": indent nil". Ma questo rimuove del tutto tutti i rientri, il che è indesiderabile. Posso anche liberarmene se esporto qualcosa. Ma nella vista Agenda non esporto rapporti e gli \ emsp sono solo una distrazione visiva.

Finora sono stato in grado di rimuovere le parole chiave "TODO" tramite il formatter come descritto qui . Ma il formatter non sembra vedere '\ emsp' e non può rimuoverli. Sembra che siano stati aggiunti dopo.

|-----------+-------------------------------------------------------------------+---------+------|
| 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 |

La risposta di Boutros è corretta, assicurati di non inserirla in un file chiamato org-table.el, altrimenti le tue tabelle esploderanno.
Dr Bombay,

Risposte:


25

Questo è un bug, IMO. Qualcuno si è lamentato del fatto che i vecchi marcatori di rientro alteravano il layout della tabella nell'output in lattice, quindi qualcuno li ha sostituiti con queste istruzioni in lattice. Ora ovviamente è un casino sullo schermo.

Ho pensato che il nuovo prettify-symbols-modepotrebbe essere un modo pratico per cambiare \emspqualcos'altro, ma che può sostituire solo con un singolo carattere e sconvolge il layout del tavolo a causa della larghezza variabile.

Quindi non c'è nient'altro che ridefinire il codice di rientro:

(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)

Modificare i marker di rientro a piacere.


Peccato per le incoerenze. Sarebbe bello averlo riparato un giorno. La funzione sopra risolve le cose per me, grazie per la pubblicazione.
Leo Ufimtsev,

Sembra che ho bisogno di emacs 24.4 per farlo funzionare. Mi aggiorno da Fedora dal 20 al 21.
Leo Ufimtsev il

Opere in Emacs 24.4
Leo Ufimtsev,

1
questo è sostanzialmente risolto in modalità org 8.3, quindi puoi riutilizzare quella funzione: orgmode.org/cgit.cgi/org-mode.git/tree/lisp/org-clock.el#n2685
anarcat

Lo sto usando con ╰ come marcatore iniziale e ─ invece di trattini (Mx insert-char BOX DRAWINGS LIGHT ARC UP AND RIGHT e BOX DRAWINGS LIGHT ORIZZONTALE). Sembra abbastanza buono - grazie! ╰─> E-Mails lesen
Arne Babenhauserheide,

3

Il manuale su Simboli speciali dice

Se desideri vedere le entità visualizzate come caratteri UTF-8, usa il comando seguente:

Cc Cx \

Attiva / disattiva la visualizzazione delle entità come caratteri UTF-8. Ciò non modifica il contenuto del buffer che rimane semplice ASCII, ma sovrappone il carattere UTF-8 solo a scopo di visualizzazione.

Puoi attivarlo per impostazione predefinita impostando la variabile org-pretty-entitieso su una base per file con l'opzione #+STARTUP: entitiespretty.


Posso ringraziarmi per aver pubblicato questo! Ne avevo bisogno 6 mesi dopo: P
Bae
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.