emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: org table proposal: merge and split cells in org-tables


From: Max Nikulin
Subject: Re: org table proposal: merge and split cells in org-tables
Date: Fri, 4 Nov 2022 14:38:30 +0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2

I believe that tables in Org are already too complicated due to the spreadsheet feature. However those who are brave enough to add cells spanning columns and rows may take some inspiration from reStructuredText, in particular horizontal lines marked by "+===+===+"

https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#tables
Grid tables are described with a visual grid made up of the characters "-", "=", "|", and "+". The hyphen 
("-") is used for horizontal lines (row separators). The equals sign ("=") may be used to separate optional header rows from the table body 
(not supported by the Emacs table mode). The vertical bar ("|") is used for vertical lines (column separators). The plus sign ("+") is used 
for intersections of horizontal and vertical lines. Example:

+------------------------+------------+----------+----------+
| Header row, column 1   | Header 2   | Header 3 | Header 4 |
| (header rows optional) |            |          |          |
+========================+============+==========+==========+
| body row 1, column 1   | column 2   | column 3 | column 4 |
+------------------------+------------+----------+----------+
| body row 2             | Cells may span columns.          |
+------------------------+------------+---------------------+
| body row 3             | Cells may  | - Table cells       |
+------------------------+ span rows. | - contain           |
| body row 4             |            | - body elements.    |
+------------------------+------------+---------------------+

RST tables have a feature making hard to implement autoalignment. If come cell have "|" with offset in respect to lines above and below then
it is a regular character.

Besides "grid" tables there are "simple" tables without vertical lines.

Perhaps it better to implement new table features as src blocks for some new language and a dedicated Emacs mode. In the case of success such proof of concept may be merged into Org core.

My impression is that Org tables quickly become hardly maintainable when their complexity is above some quite low threshold. E.g. automatic recalculation works only for first #+tblfm: line. It requires some efforts to figure out association of particular formula with cell spans.

Merge cells add more complexity to formula ranges. Some protocol should be defined to allow source blocks to generate extended cells.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]