# Asymptote: CSE5

The Asymptote CSE5 package is a useful package that is supported on the AoPS forum. It is much larger than most other packages, and contains doubles of each function; a function with a full name and a function with an abbreviated name.

## Function List

### Mark Angle ( MA )

pair MA(real a,Label s,int f,pen p,pair B,pair A,pair C,real r,int m,pair P,pen q)


The MA() or MarkAngle() command is a competitor of the olympiad anglemark(). The usage is MA( a,s,f,p,B,A,C,r,m,S,q ) (the necessary arguments are bold and the optional ones are italic). Here

a is the angle by which you want to rotate the label in degrees (0 by default);

s is the string labelling the angle (empty string by default); the dollar (or now rather $$...$$) delimeters will be added automatically as in other cse5 labelling commands;

f is the fontsize for your label (currently 9 by default; can be also reset by the anglefontsize=... command);

p is the pen you wish to use for the label (red by default; can be also reset by the anglefontpen=... command);

B,A,C are the pairs determining the angle $\angle BAC$ with the vertex $A$. The arcs are drawn counterclockwise from the side $AB$ to the side $AC$;

r the radius of the largest arc in the anglemark;

m the number of arcs in the anglemark ($1$ by default). Can be set to $0$, in which case no arcs will be drawn, $1$ through $7$, in which case $m$ arcs will be drawn, and anything $>7$ in which case the sector will be filled with color;

S allows you to position the label manually with respect to the middle point of the largest arc. The automatic positioning is where you, probably, want it to be the most: on the bisector of the angle right beyond the largest arc in the anglemark.

q is the pen used for drawing the arcs or filling the sector (green by default; can be also reset by the anglepen=... command).

MA() returns the vertex of the angle.

Example of usage:

size(200);
pair A=dir(-40), B=dir(0);
for(int k=0;k<9;++k)
{
pair C=dir(40*(k+1));
D(A--D(MA(k*40+90,"\beta_{"+string(k)+"}",12,black,C,B,A,0.1,k,orange))--C);
A=B;B=C;
}


results in $[asy] size(200); pair A=dir(-40), B=dir(0); for(int k=0;k<9;++k) { pair C=dir(40*(k+1)); D(A--D(MA(k*40+90,"\beta_{"+string(k)+"}",12,black,C,B,A,0.1,k,orange))--C); A=B;B=C; } [/asy]$