Можно ли удалить '\ emsp' из отчета о часах, но сохранить отступ?

19

Можно ли заменить '\ emsp' просто пробелами?

То есть в отчетах о часах их много. (См. Пример ниже.)

Я могу избавиться от них, установив ': отступ ноль'. Но это полностью удаляет все отступы, что нежелательно. Я также могу избавиться от них, если я экспортирую вещи. Но в представлении «Повестка дня» я не экспортирую отчеты, а \ emsp просто отвлекает внимание.

До сих пор мне удавалось удалять ключевые слова 'TODO' с помощью средства форматирования, как описано здесь . Но форматировщик, похоже, не видит '\ emsp' и не может их удалить. Похоже, они добавлены после.

|-----------+-------------------------------------------------------------------+---------+------|
| 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 |
Лев Уфимцев
источник
Ответ Бутроса правильный, просто не помещайте его в файл с именем org-table.el, иначе ваши таблицы взорвутся.
Доктор Бомбей

Ответы:

25

Это ошибка, ИМО. Кто-то жаловался на то, что старые маркеры отступа нарушали расположение таблиц в выводе латекса, поэтому кто-то заменил их этой инструкцией латекса. Теперь, конечно, это беспорядок на экране.

Я думал, что новый prettify-symbols-modeможет быть удобным способом заменить что- \emspто еще, но это может заменить только один символ, и это нарушает расположение таблицы из-за изменяющейся ширины.

Так что нет ничего, кроме как переопределить код отступа:

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

Поменяйте отступы по вкусу.

Бутрос Бутрос Чеснок
источник
Слишком плохо насчет несоответствий. Было бы хорошо, чтобы это было исправлено когда-нибудь. Вышеприведенная функция исправляет ситуацию, спасибо за публикацию.
Лев Уфимцев
Похоже, мне нужен emacs 24.4, чтобы это работало. Le me повышение с Fedora 20 до 21.
Лев Уфимцев
Работает в Emacs 24.4
Лев Уфимцев
1
в основном это исправлено в режиме org 8.3, поэтому вместо этого вы можете использовать эту функцию: orgmode.org/cgit.cgi/org-mode.git/tree/lisp/org-clock.el#n2685
anarcat
Я использую это с ╰ в качестве начального маркера и ─ вместо черточек (Mx insert-char КОРОБКИ ЧЕРТЕЖАМИ ОСВЕЩЕНА ДУГА И ВПРАВО, а КОРОБКИ ЧЕРТЕЖАМИ СВЕТА ГОРИЗОНТАЛЬНЫ). Это выглядит довольно хорошо - спасибо! ╰─> E-Mails lesen
Арне Бабенхаузерхайде
3

В руководстве по специальным символам написано

Если вы хотите, чтобы объекты отображались в виде символов UTF-8, используйте следующую команду:

Cc Cx \

Переключить отображение объектов в виде символов UTF-8. Это не меняет содержимое буфера, которое остается простым ASCII, но перекрывает символ UTF-8 только для отображения.

Вы можете включить это по умолчанию, установив переменную org-pretty-entities, или на основе файлов с опцией #+STARTUP: entitiespretty.

Bae
источник
Могу ли я поблагодарить себя за публикацию этого! Мне это понадобилось 6 месяцев спустя: P
Bae