Chapter 4 Basic principles for Theorymaker text

In this chapter, we will look at how to use Theorymaker text to make diagrams.

4.1 Variable names

Theory Maker understands most of the lines you will type as the names of “Variables” - the basic building blocks which you will use to build up your theory.

You can type almost any text for the names of your variables. Each line becomes a variable in the diagram.

4.1.1 What characters are possible

Most languages with various accents etc. are fine. You can’t use double quotes like these: " and you can’t use semi-colons because they have a special meaning.

4.2 Line breaks

Theory Maker breaks lines in variables at around 30 characters, but you can force a line break if you want, by using three slashes/// (or three spaces), like this:

Note that you can break a line with /// in the labels of variables, arrows and in the label of the diagram itself but only variable labels are broken automatically.

4.3 Attributes

You can add arbitrary attributes to your variables like this:

My variable; some attribute = some value

… and you will find if you look at the table of variables that there is a new column called “some attribute” and the variable “My variable” now has the value “some value” in that column.

Some attributes have a special meaning, for example the attribute colour colours your variables and arrows. There is a separate chapter about appearance. Other attributes specify the levels of the variables, and so on.

4.4 Arrows

4.4.1 Making arrows by indenting lines with spaces

Indent lines to show what contributes to what.

If you want, you can make the indents using dots instead, some people think they are easier to see. The effect is the same:

A, gets the arrowhead .B, indented, so contributes to A ..C, contributes to B ..D, also contributes to B

4.4.2 Arrow attributes: inside brackets.

If you want to add attributes to your arrows, for example to add a label, put the information inside brackets just in front of the variable name where the arrow begins, and after the indent(s) – space(s) or dot(s):

You can style your arrows too, see later.

4.5 Listing several variables at once with “;”

You can make links between lists of variables.

This links X to A and B:

This links X and Y to A:

And this links X, Y and Z to A and B:

You can also apply attributes to several variables at once with the same trick:

Note this means that you can’t have = in the name of any variables except the first in this kind of list because Theorymaker will think you are trying to add an attribute. So if you write:

A; B; C = something

this will be interpreted as the variables A and B, which also have the attribute C and this has the value “something”.

4.6 Repeats

You can repeat a variable. This pattern makes an arrow from B to A and back to B:

If you want to draw a large network, you can try to do it all at once, like this:

… or you can break it up into pieces, like this:

Outcome A
 Outcome B

Outcome B
 Outcome C

Outcome C
 Sub-outcome C1
 Sub-outcome C2

Theory Maker will treat this exactly the same as the previous example.

4.7 Aliases

If you have long variable names but want to repeat the variable like in the examples above, you can use labels like this to save you typing:

4.8 Boxes for grouping variables

Use a hyphen - to group your variables, i.e. to put a grouping box around them.

(If there are no variables inside a group, the grouping box does not appear).

4.8.1 Global attributes for variables and arrows

A line like this changes all the variables which come after it:

variable:  colour=red;  fontname=Courier

… and the same for arrows

arrow:  colour=blue

Any formatting you can apply to an individual variable, group or arrow can also be applied globally with lines like these.

(Actually, you can use a semicolon instead of the colon if you want:)

arrow;  colour=blue; arrowsize=2

Usually you put these lines at the start of the diagram to change all the variables or arrows. But you can also insert lines further down.

4.9 Shortcuts

There are a few shortcuts and aliases to save your typing fingers and to enable compatibility with earlier versions of Theory Maker.

a::A variable with an alias 

This is the same as:

a; label=A variable with an alias

… which will produce the same results as this …

A variable with an alias

… but the advantage of using an alias is that you can use the short alias again in other positions to save typing:

A::a variable with a long name
 B
  A