Syntax:
special $raw_text$[options] arg_list
Here $
can be any character and is used to delimit the start
and end of raw_text. The command embeds raw_text in the
sketch output after performing substitutions as follows.
#i where i is a positive integer is replaced by the
i’th value in arg_list. Point and vector arguments become
two-dimensional points, which are the transformed 3d arguments
projected onto the x-y plane. This allows
two-dimentional output elements such as labels to be easily positioned
with respect to three-dimensional features in the drawing. Scalar
arguments are subsituted directly. No transformation is applied.
#{i} is also replaced as above.
#i'2 is replaced as above for points or vectors. It is
an error for the i’th argument to be a scalar.
#i'x, #i'y, or #i'z is
replaced, respectively, by the scalar x, y, or
z-coordinate of the argument point or vector. It is an error for
the i’th argument to be a scalar.
#i'3 is replaced by the three-dimensional
transformed argument. Note that if a perspective transformation has
been applied, the z-coordinate has little geometric
significance, though it accurately indicates relative depth.
#i-j where i and j are positive
integers is replaced by a string {angle} where
angle is the polar angle of a vector from the i’th point
in point_list to the j’th point projected into the
x-y plane. It is an error for the i’th or
j’th argument to be a scalar or a vector.
#{i-j} is also replaced as above.
## is replaced with #.
The forms with braces ‘{ }’ are useful when the argument is immediately followed by a digit or a tick character that is part of the TeX code.
The only useful option of special is lay, which
determines if the substitued raw text is emitted before, after,
or using the first point in point_list as an indicator
of depth. These occur, respectively, with lay=under,
lay=over, and lay=in. See Special objects
and TikZ/PGF user-defined styles for examples.
See Internal options.