set macros
style1 = "lines lt 4 lw 2"
style2 = "points lt 3 pt 5 ps 2"
range1 = "using 1:3"
range2 = "using 1:5"
plot "foo" @range1 with @style1, "bar" @range2 with @style2
The line containing @ symbols is expanded on input, so that by the time it is executed the effect is identical to having typed in full
plot "foo" using 1:3 with lines lt 4 lw 2, \
"bar" using 1:5 with points lt 3 pt 5 ps 2
The function exists() may be useful in connection with macro evaluation. The following example checks that C can safely be expanded as the name of a user-defined variable:
C = "pi"
if (exists(C)) print C," = ", @C
Macro expansion does not occur inside either single or double quotes. However macro expansion does occur inside backquotes.