# Changing the node style

# The canonical member

Equivalence classes can have multiple statements as members. Arguments can have multiple descriptions as members. The Argdown parser has to pick one of these statements or descriptions to represent the equivalence class or the argument in the argument map. The member that is picked to officially represent an equivalence class or an argument is called the "canonical member".

By default the Argdown parser simply picks the statement or description from the last definition in the document. Let's take a look at how this works:

===
selection:
    excludeDisconnected: false
===

<a>: the most convincing argument in the world

<a>: quite obviously nothing more than a simple fallacy // automatically picked as canonical
Argument Map n0 a quite obviously nothing more than a simple fallacy // automatically picked as canonical

To manually change the canonical member of an argument or equivalence class, you can use the isCanonical: true data flag:

===
selection:
    excludeDisconnected: false
===

<a>: the most convincing argument in the world {isCanonical: true}

<a>: quite obviously nothing more than a simple fallacy
Argument Map n0 a the most convincing argument in the world

Note that it makes only sense to use this flag once. If you use it a second time, the first occurrence will be ignored.

# Changing the label mode

You can use the argumentLabelMode and statementLabelMode map settings to change the label type of argument and statement nodes:

  • title: Show only the title of the statement or argument.
  • text: Show only the text of the canonical statement or argument description.
  • hide-untitled (default): Show title and text, but hide titles if the argument or equivalence class is anonoymous (has no manually defined title).
  • none: Hide title and text and only show an empty node (useful for oldschool argument maps and inference trees)

In the following example we use title for arguments and text for statements:

===
title: Using the statementLabelMode and argumentLabelMode map settings.
map:
    statementLabelMode: text
    argumentLabelMode: title
===

[S1]: some text
    - <A1>: a description
Argument Map n0 some text n1 A1 n1->n0
Using the statementLabelMode and argumentLabelMode map settings.

# Removing tags from text

You can remove any tags from statement or description text by using the removeTagsFromText model setting:

===
model:
    removeTagsFromText: true
selection:
    excludeDisconnected: false
===

<a>: An #tag-1 argument #tag-2 description #tag-3 without #tag-4 any #tag-5 tags #tag-6
Argument Map n0 a An argument description without any tags

# Changing the font style of node labels

Font size, font and boldness of text in the Dot/GraphML exports and VizJs/Dagre maps can be customized for groups, arguments and statements. Here is how you do it for the dot export and the VizJs map:

===
dot:
    group:
        fontSize: 25
        font: impact
        bold: true
    statement:
        title:
            fontSize: 14
            bold: true
            font: impact
        text:
            font: times new roman
            fontSize: 12
    argument:
        title:
            fontSize: 16
            bold: true
            font: impact
        text:
            font: times new roman
            fontSize: 12
===

[Statement]: Some text
    - <Argument>: Some text
Argument Map n0 Statement Some text n1 Argument Some text n1->n0

Similar configuration options exist for dagre and graphml configuration.

Please note that VizJs only supports a small number of fonts (opens new window) and the same is true for the library that is used by all map export plugins for text width measurement. Please consult these links for the fonts available.

# Changing the node shape and style

You can use the dot/argument/shape and dot/statement/shape settings to choose one of the node shapes supported by Graphviz (opens new window) and the dot/argument/style and dot/statement/style settings to change the node style (opens new window):

===
dot:
    argument:
        shape: circle
        style: filled
        minWidth: 0
    statement:
        shape: star
        style: filled, dashed
        minWidth: 0
===

<a1>
    +> [s1]
    <- <a2>
        + [s2]
Argument Map n0 s1 n1 s2 n3 a2 n1->n3 n2 a1 n2->n0 n3->n2