--- loncom/homework/optionresponse.pm 2006/03/15 00:08:53 1.134 +++ loncom/homework/optionresponse.pm 2006/03/15 17:10:49 1.135 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.134 2006/03/15 00:08:53 foxr Exp $ +# $Id: optionresponse.pm,v 1.135 2006/03/15 17:10:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -481,65 +481,6 @@ sub displayfoils { } -# Correct a single option list element. -# - For embedded tags, -# we pass literally the stuff between them. -# - For everything else, we run through latex_special_symbols -# so that any symbols that have meaning to LaTeX will be -# correctly escaped. -# -sub correct_option { - my $option = shift; - - - # There's probably a beter way with perl if I was - # more of a regexp wiz..(RF). - - my $strlen = length($option); - my $here = 0; # Where to start searching for - my $result =""; # The return string is built here. - - while ($here < $strlen) { - # look for an opening tag: - - my $openloc = index($option, "", $here); - if ($openloc == -1) { - # No more... operate with latex_special_symbols on - # the rest of the string. - - $result .= &Apache::lonxml::latex_special_symbols(substr($option, $here)); - return $result; - } else { - # Need to pass the string up to the tag - # through l_s_s ... - $result .= &Apache::lonxml::latex_special_symbols(substr($option, $here, $openloc-$here)); - } - # look for the closing tag... - # We're a bit stupid..or tolerant... - # in that if the user forgets the tag - # we infer they intended one at the end of the option. - $openloc += 9; # 9 chars in - - my $closeloc = index($option, "", $openloc); # 9 chars in - if ($closeloc == -1) { - $closeloc = $strlen + 9; # 10chars in faked off end. - } - # Pass from openloc through closeloc without any interpretation: - - &Apache::lonnet::logthis("Segment inside display: $openloc through $closeloc"); - $result .= substr($option, $openloc, $closeloc - $openloc); - $here = $closeloc + 10; # Next search is after the - } - - return $result; - - # return &Apache::lonxml::latex_special_symbols($option); -} - -# Correct the option list elements so that if there -# are special symbosl that have meaning to LaTeX -# they get fixed up to display correctly. - sub optionlist_correction { my ($TeXlayout,@options) = @_; my $texoptionlist='\\item [] Choices: '; @@ -547,7 +488,7 @@ sub optionlist_correction { if (scalar(@options) > 0) { foreach my $option (@options) { $texoptionlist.='{\bf '. - &correct_option($option). + &Apache::lonxml::latex_special_symbols($option). '}'; if ($TeXlayout eq 'vertical') { $texoptionlist.=' \vskip 0 mm ',