Instead of adding absolute values into input fields, you can add expressions. These allow you create new values based on percentages, mathematical symbols, and another field's value.

Use when resizing a document or transforming an object via the Transform panel.

Input | Result |
---|---|

+=20 | Increase value by 20. |

-=20 | Decrease value by 20. |

*2 | Double size. |

/2 | Divide by a half. |

50%, *0.5 | Decrease by half. |

120%, *1.2 | 20% bigger. |

Use when resizing a document or transforming an object via the Transform panel.

Input | Result |
---|---|

w+20 | Scales based on addition of other input value. Example entered into Height box to set height as width plus 20 pixels. |

w-20 | Scales based on subtraction of other input value. Example entered into Height box to set height as width minus 20 pixels. |

2*w | Scaling based on a multiple of other input value. Example is entered into Height box to set height to double the width. |

w/2 | Scaling based on a division of other input value. Example entered into Height box to set height to half the width. |

Sq(w) | Scales based on the square of other input value. Example entered into Height box to set height as the square of the width. |

Sqrt(w) | Scales based on the square root of other input value. Example entered into Height box to set height as the square root of the width. |

w^3 | Scales based on a power of other input value. Example entered into Height box to set height as the width to the power of three. |

12pt / x | Sets the text's x-height to 12pt. |

For general use throughout the user interface.

Input | Constant |
---|---|

pi, Pi, PI, π | For Pi |

phi, Phi, PHI, gr, GR, φ | For golden ratio |

root2, rad, rt | For Pythagoras’s constant |

e | Euler’s constant |

Use when moving, scaling, rotating or shearing objects via the Transform panel.

Input | Variable |
---|---|

xposition, x | X position |

yposition, y | Y position |

width, w | Width |

height, h | Height |

rotation, r | Rotation |

shear, s | Shear |

Use when setting dimensions using the New Document or Document Setup dialogs.

Input | Variable |
---|---|

spreadwidth, w | Document width |

spreadheight | Document height |

marginleft, l | Left document margin |

marginright, r | Right document margin |

margintop, t | Top document margin |

margin, b | Bottom document margin |

Use when setting the size of text.

Input | Variable |
---|---|

xheight, x | X-height |

ascent, a | Ascent |

capheight, c | Cap height |

Use when sizing and positioning content using the Transform panel in relation to the page (spread).

spreadwidth, sprw, sw, pw | The width of the current spread |

spreadheight, sprh, sh, ph | The height of the current spread |

spreadleft, sprl, sl, pl | The position of the left edge of the current spread |

spreadright, sprr, sr, pr | The position of the right edge of the current spread |

spreadtop, sprt, st, pt | The position of the top edge of the current spread |

spreadbottom, sprb, sb, pb | The position of the bottom edge of the current spread |

marginsizeleft, mgnszl, msl | The size of the left margin on the current spread |

marginsizeright, mgnszr, msr | The size of the right margin on the current spread |

marginsizetop, mgnszt, mst | The size of the top margin on the current spread |

marginsizebottom, mgnszb, msb | The size of the bottom margin on the current spread |

marginleft, mgnl, ml | The position of the left margin on the current spread |

marginright, mgnr, mr | The position of the right margin on the current spread |

margintop, mgnt, mt | The position of the top margin on the current spread |

marginbottom, mgnb, mb | The position of the bottom margin on the current spread |

designareawidth, areawidth, aw | The space between the left and right margins on the current spread |

designareaheight, areaheight, ah | The space between the top and bottom margins on the current spread |

For general use throughout the user interface.

Input | Variable |
---|---|

Abs(x) | Absolute value |

IDiv(x,y) | Results in the integer (whole number) of x divided by y (no rounding is applied) |

IRem(x,y) | Results in the remainder of x divided by y |

Sin(a) | Sine |

aSin(a) | Inverse Sine |

Cos(a) | Cosine |

aCos(a) | Inverse Cosine |

Tan(a) | Tangent |

aTan(a) | Inverse Tangent |

aTan2(a, b) | Arctangent |

Min(a, b, ...) | Smaller of values |

Max(a, b, ...) | Larger of values |

Mid(a, b) | Average of a and b |

Average(a, b, ...) | Average of arguments |

Lerp(a, b, f) | Linear interpolation (a + (b - a) f) |

Clamp(a, lo, hi) | a if it is between lo and hi, otherwise lo or hi |

ClampMin(n, min) | clamp values below minimum |

ClampMax(n, max) | clamp values above maximum |

Round(n) | Round to integer |

Roundup(b), ceil(n) | Round up to integer |

Rounddown(b), floor(n) | Round down to integer |

Truncate(n) | Truncate n places after decimal point. |

Noise(seed / x, y) | Generate 1D noise either from a seed or based on X/Y input. |

Noise2(seed / x, y) | Generate 2D noise either from a seed or based on X/Y input. |

Noise3(seed / x, y) | Generate 3D noise either from a seed or based on X/Y input. |

Noise4(seed / x, y) | Generate 4D noise either from a seed or based on X/Y input. |