line
ElementElement functions can be customized with set
and show
rules.
Element functions can be customized with
set
and show
rules.A line from one point to another.
Example
#set page(height: 100pt)
#line(length: 100%)
#line(end: (50%, 50%))
#line(
length: 4cm,
stroke: 2pt + maroon,
)

ParametersParameters are the inputs to a function. They are specified in parentheses after the function name.
Parameters are the inputs to a function. They are specified in parentheses after the function name.
line(
start: array,end: nonearray,length: relative length,angle: angle,stroke: lengthcolordictionarystroke,
) -> contentstart
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
Settable parameters can be customized for all following uses of the function with a
set
rule.The start point of the line.
Must be an array of exactly two relative lengths.
Default: (0pt, 0pt)
end
The offset from start
where the line ends.
Default: none
length
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
Settable parameters can be customized for all following uses of the function with a
set
rule.The line's length. This is only respected if end
is none
.
Default: 30pt
angle
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
Settable parameters can be customized for all following uses of the function with a
set
rule.The angle at which the line points away from the origin. This is only
respected if end
is none
.
Default: 0deg
stroke
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
Settable parameters can be customized for all following uses of the function with a
set
rule.How to stroke the line. This can be:
- A length specifying the stroke's thickness. The color is inherited, defaulting to black.
- A color to use for the stroke. The thickness is inherited, defaulting
to
1pt
. - A stroke combined from color and thickness using the
+
operator as in2pt + red
. - A stroke described by a dictionary with any of the following keys:
paint
: The color to use for the stroke.thickness
: The stroke's thickness as a length.cap
: How the line terminates. One of"butt"
,"round"
, or"square"
.join
: How sharp turns of a contour are rendered. One of"miter"
,"round"
, or"bevel"
. Not applicable to lines but to polygons or paths.miter-limit
: Number at which protruding sharp angles are rendered with a bevel instead. The higher the number, the sharper an angle can be before it is bevelled. Only applicable ifjoin
is"miter"
. Defaults to4.0
.dash
: The dash pattern to use. Can be any of the following:- One of the predefined patterns
"solid"
,"dotted"
,"densely-dotted"
,"loosely-dotted"
,"dashed"
,"densely-dashed"
,"loosely-dashed"
,"dash-dotted"
,"densely-dash-dotted"
or"loosely-dash-dotted"
- An array with alternating lengths for dashes and
gaps. You can also use the string
"dot"
for a length equal to the line thickness. - A dictionary with the keys
array
(same as the array above), andphase
(of type length), which defines where in the pattern to start drawing.
- One of the predefined patterns
Default: 1pt + black
#set line(length: 100%)
#stack(
spacing: 1em,
line(stroke: 2pt + red),
line(stroke: (paint: blue, thickness: 4pt, cap: "round")),
line(stroke: (paint: blue, thickness: 1pt, dash: "dashed")),
line(stroke: (paint: blue, thickness: 1pt, dash: ("dot", 2pt, 4pt, 2pt))),
)
