Variables may be attached to any object in the Electric database. They appear at the end of many of the lines in the file. When more than 1 variable is listed on an object, they are sorted by the variable name. The syntax is:

<name> ( <TD> ) <type> <value>
<name> | the name of the variable.
<TD> | the text descriptor (when the variable is visible).
<type> | the type of data attached.
<value> | the data. If it starts with "[", it is an array of the form [ <value1> , <value2> , ... ]

<name> and <value> fields may be enclosed in quotation marks. Backslash character can be used inside enclosed strings to denote special characters.

The <type> field can be one of these:
"B" Boolean ("T" or "F")
"C" Cell (of the form <library> : <cell>)
"D" Double
"E" Export (of the form <library> : <cell> : <exportID>)
"F" Float
"G" Long
"H" Short
"I" Integer
"L" Library name
"O" Tool name
"P" Primitive Node prototype (of the form <technology> : <node name>)
"R" Arc prototype (of the form <technology> : <arc name>)
"S" String
"T" Technology name
"V" Point2D (of the form <x> / <y>)
"Y" Byte (0-255)

Examples:

`ART_message(D5G8;)StxArray4x4B`

Adds a variable called "ART_message" with the string "txArray4x4B". The text descriptor indicates centered text ("D5") that is 8 units tall ("G8;").

`ART_degrees()F[0.0,3.1415927]`

Adds a variable called "ART_degrees" with an array of 2 floating point values: 0.0 and 3.1415927.

`EXPORTS()E[ccc:gate;1{sch}:a,"ccc:hate;1{sch}:b[0:4]"]`

Adds a variable called "EXPORTS" with an array of 2 exports: export "a" of cell "ccc:gate{sch}" and export "b[0:4]" from the cell "ccc:hate{sch}".

`ATTR_z0(D5G0.5;NPY1;)I50`

Adds an attribute called "z0" with the integer value 50. It is displayed anchored at the center ("D5"), 0.5 unit tall ("G0.5;"), written as "name=value" ("N"), is a parameter ("P"), and is offset by 1 in Y ("Y1;").