Org mode 表格像素对齐

我知道了,你是不是用了org-indent?目前不支持org-indent,详情看readme

我把error改成了message,大概能稍微减轻症状。如果能有复现方法的话就能更好地修复了,我想不出来问啥会有这个error……

不紧靠也应该可以的啊,你左边是空格或者tab吗?在表格上运行M-: (valign--at-table-p)是什么结果?

我重启emacs后正常了。是因为更新完之后没有重启会有这个问题。

更新了 valign, 依然是报这个错误,真是个难以捉摸的issue。算了,放弃治疗了,扔进 永久问题列表里。将来再想。

我重启了Emacs,问题确实解决了,感谢 @casouri

的确是org-indent 造成的,感谢~

太爽了,我有空一定要试试

_ 换行, 这招不错,我居然以前都没有想到。

最好还是支持indent, 毕竟用的人很多

我觉得应该添加 indent-mode 检测功能,如果开启了 org-indent-mode, 就不能启用 valign-mode, 同时提醒用户两个 mode 的冲突。

又出错了, 在一个没有表格的的org文件中按TABfold一级标题会提示这个错误

Debugger entered--Lisp error: (args-out-of-range 0 7)
  text-property-any(0 7 invisible org-link)
  valign--org-flag-region-advice(0 7 nil)
  apply(valign--org-flag-region-advice (0 7 nil))
  outline-flag-region(0 7 nil)
  outline-show-entry()
  outline-toggle-children()
  funcall-interactively(outline-toggle-children)
  call-interactively(outline-toggle-children nil nil)
  command-execute(outline-toggle-children)

附文件内容

* Web

** TODO https://arxiv.org/pdf/1908.04511.pdf
A Scalable, Portable, and Memory-Efficient Lock-Free FIFO Queue

额,严格来说是outline的bug,Emacs里面buffer位置最小是1,但outline-flag-region收到了0。运行一下这个看看还有错不?

(defun outline-show-entry ()
  "Show the body directly following this heading.
Show the heading too, if it is currently invisible."
  (interactive)
  (save-excursion
    (outline-back-to-heading t)
    (outline-flag-region (max (point-min) (1- (point)))
                         (progn
                           (outline-next-preface)
                           (if (= 1 (- (point-max) (point)))
                               (point-max)
                             (point)))
                         nil)))

之后有时间会支持的,目前写在README里了。

赞!没问题了!

今天试过了,ubuntu 20.04, emacs 26.3, spacemacs develop branch. 真的很棒。 不再需要安装等宽字体,一直就认为eamcs + ubuntu原来的中文字体特别好看,现在终于又有了。

忍不住再夸一下,因为刚才我试了latex公式,也非常好,图片预览正常在表格中显示了。

就是不知道能不能后面支持emacs table的那种merge cell, split cell功能。

谢谢 :grin:

这是啥意思?类似这种吗:

|    |   |   |
|----+---+---|
|        |   |

是的,这是org table比excel差很远的地方,几十年都没改变。

emacs table.el 早就提供了,但是没有被合并到org table里面去。

https://www.emacswiki.org/emacs/TableMode

这应该是操作table的功能,valign只是美化table吧

是的,不过我想的是valign既然都已经能解决像素级别的对齐问题,自然有能力绘制,隐藏分割线。 只不过要看作者是否感兴趣解决org table另一个几十年的老大难问题了。

你是这个意思啊…这恐怕很难