--- loncom/xml/londefdef.pm 2004/10/18 22:02:02 1.243 +++ loncom/xml/londefdef.pm 2004/11/13 08:56:53 1.244 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.243 2004/10/18 22:02:02 albertel Exp $ +# $Id: londefdef.pm,v 1.244 2004/11/13 08:56:53 albertel Exp $ # # # Copyright Michigan State University Board of Trustees @@ -66,6 +66,7 @@ sub initialize_londefdef { undef(@Apache::londefdef::description); @Apache::londefdef::DD=(0); @Apache::londefdef::DT=(0); + @Apache::londefdef::seenDT=(0); $Apache::londefdef::list_index=0; } @@ -478,6 +479,7 @@ sub end_accessrule { sub start_body { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = ''; + if ($target eq 'web') { if ($Apache::lonhomework::parsing_a_problem) { &Apache::lonxml::warning(" tag found inside of tag this can cause problems."); @@ -1701,6 +1703,7 @@ sub start_dl { push(@Apache::londefdef::description,[]); $Apache::londefdef::DD[$Apache::londefdef::DL]=0; $Apache::londefdef::DT[$Apache::londefdef::DL]=0; + $Apache::londefdef::seenDT[$Apache::londefdef::DL]=0; } return $currentstring; } @@ -1720,6 +1723,7 @@ sub end_dl { $currentstring.='\end{description}'; delete($Apache::londefdef::DD[$Apache::londefdef::DL]); delete($Apache::londefdef::DT[$Apache::londefdef::DL]); + delete($Apache::londefdef::seenDT[$Apache::londefdef::DL]); $Apache::londefdef::DL--; } return $currentstring; @@ -1736,6 +1740,7 @@ sub start_dt { if ($Apache::londefdef::DD[-1]) { &end_dd(@_); } &Apache::lonxml::startredirection(); $Apache::londefdef::DT[-1]++; + $Apache::londefdef::seenDT[-1]=1; } return $currentstring; } @@ -1748,7 +1753,7 @@ sub end_dt { } elsif ($target eq 'tex') { if ($Apache::londefdef::DT[-1]) { my $data=&item_cleanup(); - push(@{$Apache::londefdef::description[-1]},'\item['.$data.']'); + push(@{$Apache::londefdef::description[-1]},'\item['.$data.'] \strut \vskip 0mm'); $Apache::londefdef::DT[-1]--; } } @@ -1771,6 +1776,9 @@ sub start_dd { } elsif ($target eq 'tex') { if ($Apache::londefdef::DT[-1]) { &end_dt(@_); } if ($Apache::londefdef::DD[-1]) { &end_dd(@_);} + if (!$Apache::londefdef::seenDT[-1]) { + push(@{$Apache::londefdef::description[-1]},'\item[\strut] \strut \vskip 0mm '); + } push(@{$Apache::londefdef::description[-1]},''); $Apache::londefdef::description[-1]->[-1].=' \strut '; $Apache::londefdef::DD[-1]++;