¿Es posible eliminar '\ emsp' del informe del reloj pero preservar la sangría?

19

¿Es posible reemplazar '\ emsp' solo con espacios simples?

Es decir, en los informes de Clock, hay muchos de estos '\ emsp's. (Ver ejemplo a continuación).

Puedo deshacerme de ellos configurando ': sangría nula'. Pero esto elimina toda sangría por completo, lo cual es comprensible. También puedo deshacerme de ellos si exporto cosas. Pero en la vista Agenda no exporto informes y los \ emsp son solo una distracción visual.

Hasta ahora pude eliminar las palabras clave 'TODO' a través del formateador como se describe aquí . Pero el formateador no parece ver el '\ emsp' y no puede eliminarlo. Parece que se agregaron despué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
fuente
La respuesta de Boutros es correcta, solo asegúrese de no ponerla en un archivo llamado org-table.el, o sus tablas explotarán.
Dr. Bombay

Respuestas:

25

Esto es un error, en mi opinión. Alguien se quejó de que los viejos marcadores de sangría alteraron el diseño de la tabla en la salida de látex, por lo que alguien los reemplazó con estas instrucciones de látex. Ahora, por supuesto, es un desastre en la pantalla.

Pensé que lo nuevo prettify-symbols-modepodría ser una forma práctica de cambiar el contenido \emsppor otro, pero eso solo puede reemplazarse con un solo carácter y altera el diseño de la tabla debido al cambio de ancho.

Entonces, no hay nada más que redefinir el código de sangría:

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

Cambie los marcadores de sangría al gusto.

Boutros Boutros Ajo
fuente
Lástima las inconsistencias. Sería bueno arreglarlo algún día. La función anterior me soluciona las cosas, gracias por publicar.
Leo Ufimtsev
Parece que necesito emacs 24.4 para que esto funcione. Déjame actualizar de Fedora 20 a 21.
Leo Ufimtsev
Funciona en Emacs 24.4
Leo Ufimtsev
1
esto se soluciona básicamente en el modo org 8.3, por lo que puede reutilizar esa función en su lugar: orgmode.org/cgit.cgi/org-mode.git/tree/lisp/org-clock.el#n2685
anarcat
Estoy usando esto con ╰ como marcador inicial y ─ en lugar de guiones (Mx insert-char BOX DRAWINGS LIGHT ARC UP AND RIGHT y BOX DRAWINGS LIGHT HORIZONTAL). Se ve bastante bien, ¡gracias! ╰─> E-Mails lesen
Arne Babenhauserheide
3

El manual sobre símbolos especiales dice

Si desea ver las entidades mostradas como caracteres UTF-8, use el siguiente comando:

Cc Cx \

Alternar la visualización de entidades como caracteres UTF-8. Esto no cambia el contenido del búfer que sigue siendo ASCII simple, pero superpone el carácter UTF-8 solo para fines de visualización.

Puede activar esto de manera predeterminada configurando la variable org-pretty-entities, o en una base por archivo con la opción #+STARTUP: entitiespretty.

Bae
fuente
¿Puedo agradecerme a mí mismo por publicar esto? Lo necesitaba 6 meses después: P
Bae