What are functions?
...
To turn a static frame property into a calculated value based on a function, you simply click the function button next to the property input field in the interface.
Info | ||
---|---|---|
| ||
Important to know, functions, tags and references are not Case Sensitive. E.g. The variable with name "AddWidth" can be used in a formula as "addwidth". E.g. The PageWidth can be used in a calculation as "pageWidth" |
A function field will appear below the property input field. The property input field is now no longer editable becuase because the value is calculated based on the function defined in the function input field.
If a function is not valid and cannot be calculated properly, the last calculated value is kept..
Errors
When a function does not work out, it will turn red, and you'll get a notification.
What is supported within a function?
...
+ | adding |
- | substracting |
* | multiplying |
/ | deviding |
() | parentheses |
Parentheses will influence the order of calculation.
Referencing
In the functions, you can use absolute numbers, or you can reference other elements.
...
- Page:
By typing “Page” followed by a dot, and the name of the property you want to reference. - Paragraph within a text frame:
A text paragraph can be tagged, and can also be referenced in a Dynamic Layout function. This is possible by first typing the name (tag) of the frame, followed by a dot, followed by the name of the paragraph (tag)
Bram Verniest (Unlicensed) new screenshot needed here
- Variable:
By typing the name of the variable, nothing more.
Properties (to reference of)
...
Variables
It is possible to use variables in the calculation, but only variables of type number or coordinate. For now, only the value of the variable can be referenced. No other meta information.
"variable.value" or "variable" will both resolve to the actual value of the variable.
In case a variable has the same name as a frame tag, this property being used will indicate if the user intends to use the variable value or the frame property. (there is no "value" property on frames and no width, height, etc on a variable)
If page.property is used in a calculated value, it will always refer to the page in the document, never to a frame with tag "page".
Functions within the calculation
Following additional functions are available for application in the calculations
...