christianvoigt / argdown

a simple syntax for complex argumentation
https://argdown.org
923 stars 30 forks source link

Groups only accept the first 3 elements after the # #211

Closed 6-AND-9 closed 3 years ago

6-AND-9 commented 3 years ago

Hi,

I am just starting with Argdown so I am having some difficulties understanding how groups work.

I was reading the code of the simplest example in the guide:

 - <argument 1>
 + <argument 2>
    <_ <argument 3>

 # I am a group

<argument 1>: I am an attacking argument. #tag2

<argument 2>: I am a supporting argument. #tag3

## I am a subgroup

<argument 3>: I am an undercut argument. #tag4

This code seems to work great regarding groups. Arguments 1 and 2 belong to the first-level group, and the second-level group also belongs to the first-level one (with its argument 3).

However, I did start building my own argument with groups, but it doesn't work. The groups don't behave as they should i.e. the group only accepts the first element after its definition.

[ARGUMENT]: Bla bla bla 
    - [Non-supporting statement]
        + <Supporting argument for the non-supporting statement 1>
        + <Supporting argument for the non-supporting statement 2>
        + <Supporting argument for the non-supporting statement 3>
    + [Supporting statement]
        - <Supporting argument for the supporting statement 1>
        - <Supporting argument for the supporting statement 2>
        - <Supporting argument for the supporting statement 3>

 # Non-supporting argument group

<Supporting argument for the non-supporting statement 1>: Bla bla bla ... #tag1
<Supporting argument for the non-supporting statement 2>: Bla bla bla ... #tag2
<Supporting argument for the non-supporting statement 3>: Bla bla bla ... #tag3 

 # Supporting argument group

<Supporting argument for the supporting statement 1>: Bla bla bla ... #tag4
<Supporting argument for the supporting statement 2>: Bla bla bla ... #tag5
<Supporting argument for the supporting statement 3>: Bla bla bla ... #tag6

What the visualizer does in this case is only put Supporting argument for the non-supporting statement 1 under group Non-supporting argument group; and Supporting argument for the supporting statement 1 under group Supporting argument group. So, only those that are immediately below the hashtag defined group name.

The rest of the arguments (no. 2, 3 etc.) in both groups are not visualized as belonging to their groups.

You can see the effects on the picture below (sorry for the low image resolution, it was the native png exporter from Argdown).

Am I doing something wrong, or did I discover a bug?

Groups don't work

6-AND-9 commented 3 years ago

OK, I managed to somehow remedy part of the problem by changing the symbols preceding the arguments that support the supporting statement from - to +. This was my mistake.

That seemed to accept the first 3 such arguments in the groups, but still leave the remaining 2 per group (for now) outside the groups.

Weird grouping issue 02

I really can't figure out what's going on :D

6-AND-9 commented 3 years ago

OK, figured out what I was doing wrong. After the argument specification within the groups I was missing the colon sign. This was breaking the syntax. Now it works.

It was my mistake. It can remain here as a closed issue for other people that might make the same mistake.

Weird grouping issue solved

christianvoigt commented 3 years ago

Great, another thing to keep in mind: top level statements and arguments have to be separated by empty lines. This was the issue in your initial example:

 # Non-supporting argument group

<Supporting argument for the non-supporting statement 1>: Bla bla bla ... #tag1

<Supporting argument for the non-supporting statement 2>: Bla bla bla ... #tag2

<Supporting argument for the non-supporting statement 3>: Bla bla bla ... #tag3 

 # Supporting argument group

<Supporting argument for the supporting statement 1>: Bla bla bla ... #tag4

<Supporting argument for the supporting statement 2>: Bla bla bla ... #tag5

<Supporting argument for the supporting statement 3>: Bla bla bla ... #tag6