version 1.249.4.1, 2012/01/16 11:54:37
|
version 1.249.8.2, 2012/02/04 20:40:15
|
Line 636 sub end_numericalresponse {
|
Line 636 sub end_numericalresponse {
|
$result.=' \textit{(in} \verb|'.$unit.'|\textit{)} '; |
$result.=' \textit{(in} \verb|'.$unit.'|\textit{)} '; |
} |
} |
if ($tag eq 'numericalresponse') { |
if ($tag eq 'numericalresponse') { |
$result .= &make_latex_bubbles($bubble_values, $bubble_display); |
$result .= &make_horizontal_latex_bubbles($bubble_values, $bubble_display, |
|
'$\bigcirc$'); |
} else { |
} else { |
$increment = &Apache::response::repetition(); |
$increment = &Apache::response::repetition(); |
} |
} |
Line 894 sub get_table_sizes {
|
Line 895 sub get_table_sizes {
|
my ($number_of_bubbles,$rbubble_values)=@_; |
my ($number_of_bubbles,$rbubble_values)=@_; |
my $scale=2; #mm for one digit |
my $scale=2; #mm for one digit |
my $cell_width=0; |
my $cell_width=0; |
&Apache::lonnet::logthis("textwidth envvar: " . $env{'form.textwidth'}); |
|
foreach my $member (@$rbubble_values) { |
foreach my $member (@$rbubble_values) { |
my $cell_width_real=0; |
my $cell_width_real=0; |
if ($member=~/(\+|-)?(\d*)\.?(\d*)\s*\$?\\times\s*10\^{(\+|-)?(\d+)}\$?/) { |
if ($member=~/(\+|-)?(\d*)\.?(\d*)\s*\$?\\times\s*10\^{(\+|-)?(\d+)}\$?/) { |
Line 1058 sub make_numerical_bubbles {
|
Line 1058 sub make_numerical_bubbles {
|
} |
} |
|
|
## |
## |
# Produce LaTeX bubbles given a set of bubble values: |
# Produce LaTeX bubbles laid out horizontally given a set of bubble values: |
# |
# |
# @param bubble_values - reference to an array of bubble 'values' |
# @param bubble_values - reference to an array of bubble 'values' |
# @param bubble_display - reference to the array of texts to display to the user |
# @param bubble_display - reference to the array of texts to display to the user |
# for each bubble_value (this is mostly for numerical response |
# for each bubble_value (this is mostly for numerical response |
# when the displayed value may not be an exact |
# when the displayed value may not be an exact |
# representation of the bubble value. |
# representation of the bubble value. |
|
# @param bubble_fragment- The LaTeX fragment that will be plugged in to make |
|
# the bubble itself. Note that the code will autonomously |
|
# label each bubble with a lable...and that it's perfectly |
|
# acceptable to use "" for the bubble_fragment. |
# |
# |
# @return string - the LaTeX fragment that produces the bubbles. |
# @return string - the LaTeX fragment that produces the bubbles. |
# |
# |
sub make_latex_bubbles { |
sub make_horizontal_latex_bubbles { |
my ($bubble_values, $bubble_display) = @_; |
my ($bubble_values, $bubble_display, $bubble_fragment) = @_; |
my $result; |
my $result; |
|
|
my $number_of_bubbles = scalar(@{$bubble_values}); |
my $number_of_bubbles = scalar(@{$bubble_values}); |
Line 1093 sub make_latex_bubbles {
|
Line 1097 sub make_latex_bubbles {
|
} |
} |
$result.='\noindent \setlength{\tabcolsep}{2 mm}\hskip 2pc\begin{tabular}{'; |
$result.='\noindent \setlength{\tabcolsep}{2 mm}\hskip 2pc\begin{tabular}{'; |
for (my $ind=0;$ind<$table_range[$j];$ind++) { |
for (my $ind=0;$ind<$table_range[$j];$ind++) { |
$result.='p{3 mm}p{'.$celllength.' mm}'; |
$result.='p{3 mm}p{'.$celllength.' mm} '; |
} |
} |
$result.='}'; |
$result.='}'; |
for (my $ind=$cou;$ind<$cou+$table_range[$j];$ind++) { |
for (my $ind=$cou;$ind<$cou+$table_range[$j];$ind++) { |
$result.='\hskip -4 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$ & \hskip -3 mm {\small '.$bubble_display->[$ind].'} '; |
$result.='\hskip -4 mm {\small \textbf{ '.$alphabet[$ind].'}}' |
if ($ind != $cou+$table_range[$j]-1) {$result.=' & ';} |
. $bubble_fragment |
|
. '& \hskip -3 mm {\small '.$bubble_display->[$ind].'} '; |
|
if ($ind != $cou+$table_range[$j]-1) { |
|
$result.=' & '; |
|
} |
} |
} |
$cou += $table_range[$j]; |
$cou += $table_range[$j]; |
$j++; |
$j++; |