# AlignedChoice

This PG code shows how to align answer blanks and restrict the type of student answer allowed.

PG problem file Explanation
```DOCUMENT();
"PGstandard.pl",
"PGunion.pl",
"MathObjects.pl",
"alignedChoice.pl",
);
TEXT(beginproblem());
```

Initialization: We need to include the macro file `alignedChoice.pl` for aligning the answer blanks.

```Context("Numeric");

\$f1 = Formula("sin(pi/6)");
\$f2 = Formula("sin(pi/4)");
\$f3 = Formula("sin(pi/3)");
\$f4 = Formula("sin(pi/2)");
\$f5 = Formula("sin(pi)");
\$f6 = Formula("sin(2pi)");

Parser::Context::Functions::Disable('All');
Parser::Context::Functions::Enable('sqrt');

Context()->texStrings;
\$al = new_aligned_list(ans_rule_len=>10, numbered=>1, tex_spacing=>"3pt");
\$al->qa(
"\(\$f1\)", Real(\$f1->eval)->cmp,
"\(\$f2\)", Real(\$f2->eval)->cmp,
"\(\$f3\)", Real(\$f3->eval)->cmp,
"\(\$f4\)", Real(\$f4->eval)->cmp,
"\(\$f5\)", Real(\$f5->eval)->cmp,
"\(\$f6\)", Real(\$f6->eval)->cmp,
);
Context()->normalStrings;
```

Setup: We disable all functions, and then enable square root.

The options for aligned list are vertical alignment, horizontal alignment, cellspacing, tex spacing (which must include units of measure, such as "3pt"), whether or not the list is numbered, whether there is a column of equals signs, and the length of each answer rule. The defaults and other options are given below.

• `valign=>"MIDDLE"` or `TOP` or `BOTTOM`
• `align=>"RIGHT"` or `LEFT` or `CENTER`
• `spacing=>"5"`
• `tex_spacing=>"0pt"`, where 1pt = 1/72in. 3pt is usually good.
• `numbered=>"0"` for no numbering, or 1 for numbering
• `equals=>"1"` for a column of equals signs, 0 to omit them
• `ans_rule_len=>"10"`

```BEGIN_TEXT
Find the sine of each of the following angles.
\$PAR
\{ \$al->print_q() \}
\$PAR
```\$showPartialCorrectAnswers = 1;