Talk:Display an outline as a nested table: Difference between revisions
(2 intermediate revisions by the same user not shown) | |||
Line 31: | Line 31: | ||
In practice, of course, an indented text outline will often have several top level (unindented) lines. |
In practice, of course, an indented text outline will often have several top level (unindented) lines. |
||
To put it another way, many outlines represent forests – lists of trees – rather than single trees. |
To put it another way, many outlines represent forests – lists of trees – rather than single trees (or can otherwise be thought of as a single tree with a hidden virtual root). |
||
FWIW I've updated the Haskell, JavaScript and Functional Python versions here to allow for the forest case by writing out a series of (wiki) tables, one for each tree, separated by a couple of linefeeds. |
FWIW I've updated the Haskell, JavaScript and Functional Python versions here to allow for the forest case by writing out a series of (wiki) tables, one for each tree, separated by a couple of linefeeds. |
||
[[User:Hout|Hout]] ([[User talk:Hout|talk]]) 15:19, 6 September 2021 (UTC) |
[[User:Hout|Hout]] ([[User talk:Hout|talk]]) 15:19, 6 September 2021 (UTC) |
||
For example, a forest outline – with several top-level nodes – like: |
|||
<pre>alpha |
|||
beta |
|||
gamma |
|||
delta |
|||
epsilon |
|||
zeta |
|||
eta |
|||
theta |
|||
iota</pre> |
|||
might be rendered by the following sequence of space-separated tree-tables: |
|||
{| class="wikitable" style="text-align: center;" |
|||
|- |
|||
| style="background: #ffffe6; " colspan=2 | alpha |
|||
|- |
|||
| style="background: #ffebd2; " | beta |
|||
| style="background: #f0fff0; " | gamma |
|||
|} |
|||
{| class="wikitable" style="text-align: center;" |
|||
|- |
|||
| style="background: #ffffe6; " colspan=2 | delta |
|||
|- |
|||
| style="background: #ffebd2; " | epsilon |
|||
| style="background: #f0fff0; " | zeta |
|||
|} |
|||
{| class="wikitable" style="text-align: center;" |
|||
|- |
|||
| style="background: #ffffe6; " colspan=2 | eta |
|||
|- |
|||
| style="background: #ffebd2; " | theta |
|||
| style="background: #f0fff0; " | iota |
|||
|} |
|||
[[User:Hout|Hout]] ([[User talk:Hout|talk]]) 15:41, 6 September 2021 (UTC) |
|||
where the following (single root / tree): |
|||
<pre>top level |
|||
alpha |
|||
beta |
|||
gamma |
|||
delta |
|||
epsilon |
|||
zeta |
|||
eta |
|||
theta |
|||
iota</pre> |
|||
would have rendered as: |
|||
{| class="wikitable" style="text-align: center;" |
|||
|- |
|||
| style="background: #ffffe6; " colspan=6 | top level |
|||
|- |
|||
| style="background: #ffebd2; " colspan=2 | alpha |
|||
| style="background: #f0fff0; " colspan=2 | delta |
|||
| style="background: #e6ffff; " colspan=2 | eta |
|||
|- |
|||
| style="background: #ffebd2; " | beta |
|||
| style="background: #ffebd2; " | gamma |
|||
| style="background: #f0fff0; " | epsilon |
|||
| style="background: #f0fff0; " | zeta |
|||
| style="background: #e6ffff; " | theta |
|||
| style="background: #e6ffff; " | iota |
|||
|} |
|||
[[User:Hout|Hout]] ([[User talk:Hout|talk]]) 15:49, 6 September 2021 (UTC) |
Latest revision as of 15:49, 6 September 2021
Why display an outline as a table ?
The current Perl6 draft expresses some helpful puzzlement about this :-)
The answer is that there are two quite different modes of outline – topic nests and propositional nests.
- Sub-topics nested inside the topics which they sub-divide – the classic serially-labelled TOC pattern which the Perl 6 entry is showing.
- Supporting points nested under the key points which they support or clarify.
(And it may well be that the task example could helpfully be replaced by a clearer example of the latter)
When the outline expresses propositional hierarchies (rather than sub-divisions of domains), indented lines ('outlines') have two disadvantages:
- Logically connected peers are visually driven further and further apart as subordinate elaboration expands, and cognitive work is required to reconnect the 'sentences' which they form when read together.
- The 'vertical' metaphor of support (evidence supporting claim, example supporting clarity etc etc) is replaced by a visually less direct horizontal convention, and, again, takes some cognitive work to reconstruct.
A potential *weakness* of tabular representations of argument/exposition structures is, of course, that some horizontal contiguities are more meaningful than others. One solution is to add more space at the margins where the edges of sub-trees meet, and another is to distinguish adjacent subtrees by color – hence the extra credit task of using color to reveal the borders between sub-trees.
In short, tabular representation can be very useful in:
- the visual presentation of nested key points and supporting points (rather than sub-divided topics)
- and the teaching of argument structure.
(The current Perl6 color scheme rather helpfully shows that I failed to make this at all obvious or clear :-) Thank you ! Hout (talk) 04:36, 24 October 2019 (UTC)
When an outline is more a forest than a tree
The test sample here is an outline with only one top level root node – we can think of it as representing a single tree.
In practice, of course, an indented text outline will often have several top level (unindented) lines. To put it another way, many outlines represent forests – lists of trees – rather than single trees (or can otherwise be thought of as a single tree with a hidden virtual root).
FWIW I've updated the Haskell, JavaScript and Functional Python versions here to allow for the forest case by writing out a series of (wiki) tables, one for each tree, separated by a couple of linefeeds. Hout (talk) 15:19, 6 September 2021 (UTC)
For example, a forest outline – with several top-level nodes – like:
alpha beta gamma delta epsilon zeta eta theta iota
might be rendered by the following sequence of space-separated tree-tables:
alpha | |
beta | gamma |
delta | |
epsilon | zeta |
eta | |
theta | iota |
Hout (talk) 15:41, 6 September 2021 (UTC)
where the following (single root / tree):
top level alpha beta gamma delta epsilon zeta eta theta iota
would have rendered as:
top level | |||||
alpha | delta | eta | |||
beta | gamma | epsilon | zeta | theta | iota |