Properties
Syntax
Properties :
[
Property (;
Property)*]
Property :
NAMED_IDENT=
PropertyValue
PropertyValue :
NUMBER
| IDENT
| STRING
| RawString
RawString :
!
STRING
Property values
bool
Boolean properties represent true or false for certain properties. A true value can be represented as the following:
1, true, enabled, on, "true", "enabled", "on"
A false value can be represented like this:
0, false, disabled, off, "false", "disabled", "off"
NOTE: Cannot be represented by a raw string. NOTE: In case of boolean values, parsing of identifiers and strings is case-insensitive.
number
Number values accept positive integers and floats. They cannot be expressed by idents or strings. Used for weights.
Style
Style properties tell Geo-AID how to display a given line or a circle. Available options are: SOLID
, DASHED
, BOLD
, and DOTTED
. They can be represented using identifiers or non-raw strings. When parsed, case is ignored.
LineType
This property is most commonly seen alongside lines constructed from points. This tells Geo-AID whether to display the line as a LINE
, a RAY
, or a SEGMENT
.
MathString
MathString properties usually represent label contents. MathStrings are used to write normal text while also allowing lower indices and a restricted set of mathematical characters, like greek letters.
Parsing
Identifiers
If the identifier is a single character or a character code representing a letter (character codes explained below), a number of primes (also explained below), and a _
followed by digits, it can be parsed as a MathString containing only that character.
Examples:
A
B_12
C'
D''_456
Raw strings
Raw strings are parsed as a set of ASCII characters without any additional processing. Useful for injecting LaTeX into point labels, should it be necessary.
Examples:
!"\mathbb{X}^\prime"
!"Hello, World!"
!"_{}}}Everything is literal}"
Strings
Strings are parsed like raw strings with a few important exceptions:
- Single quotes (
'
) are parsed as primes; - Everything directly after a
_
, until, but not including, a space, is parsed as being in lower index; - Lower index cannot be used inside a lower index;
- Longer text with spaces can be put inside a lower index if delimited by braces (
{}
); - Text inside brackets (
[]
) is parsed as a character code and outputs a special character with that code; \\
before a character inserts that character regardless of the above rules (it does not, however, enable using"
in a string. You can use[quote]
for that purpose).
Examples:
"A"
"B_12"
"C'_{Hello, World!}"
"[Alpha] [quote]label [alpha][quote]"
Character codes
Character codes are used to represent special characters. Currently, Geo-AID only supports greek letters - in form of the names of those letters, where the case of the first letter decides the case of the output letter - and quotes ("
), written as qoute
.
Primes
Primes, in MathStrings, are ticks often seen beside points. They are often used to represent a point after certain transformations, like symmetry or rotation (looks like A'
). In MathStrings, all non-escaped (\\
) single quotes ('
) are treated as those.
LineType
LineType
describes whether a line should be displayed as a continuous line, a ray or a segment. This property is allowed in a few functions. Possible values are: LINE
, RAY
, SEGMENT
. The default depends on the context.