--- loncom/homework/structuretags.pm 2002/01/17 12:23:31 1.76 +++ loncom/homework/structuretags.pm 2002/02/06 16:18:54 1.80 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.76 2002/01/17 12:23:31 harris41 Exp $ +# $Id: structuretags.pm,v 1.80 2002/02/06 16:18:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -67,24 +67,39 @@ sub end_tex { sub page_start { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; - my $result=&Apache::londefdef::start_html($target,$token,$tagstack,$parstack,$parser,$safeeval); - my $head_tag_start='
'.&Apache::lonxml::registerurl(); - my $body_tag_start=''.&Apache::lonxml::registerurl(); + } + my $body_tag_start; + if (!defined($found{'body'})) { + $body_tag_start=''; } - $body_tag_start.='>'; return ($result,$head_tag_start,$body_tag_start); } @@ -147,6 +162,11 @@ ENDCHECKOUT sub start_problem { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; + if ( $Apache::inputtags::part ne '' ) { + &Apache::lonxml::error('Only one problem allowed in a .problem file'); + my $bodytext=&Apache::lonxml::get_all_text("/problem",$$parser[-1]); + return ''; + } #intialize globals $Apache::inputtags::part='0'; @Apache::inputtags::responselist = (); @@ -273,6 +293,8 @@ sub start_problem { } elsif ($target eq 'modified') { $result=$token->[4]; $result.=&Apache::edit::handle_insert(); + } elsif ($target eq 'tex') { + $result .= '\begin{document}\noindent\textbf{Problem.}\newline'; } else { # page_start returned a starting result, delete it if we don't need it $result = ''; @@ -316,6 +338,8 @@ sub end_problem { } elsif ($target eq 'edit') { &Apache::lonxml::debug("in end_problem with $target, edit"); $result='