--- loncom/xml/londefdef.pm 2004/10/18 22:02:02 1.243
+++ loncom/xml/londefdef.pm 2004/11/19 22:16:33 1.247
@@ -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.247 2004/11/19 22:16:33 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;
}
@@ -154,7 +155,7 @@ sub start_html {
$currentstring = &Apache::lonxml::xmlbegin();
} elsif ($target eq 'tex') {
@Apache::londefdef::table = ();
- $currentstring .= '\documentclass[letterpaper]{book}';
+ $currentstring .= '\documentclass[letterpaper]{article}';
if ($ENV{'form.latex_type'}=~'batchmode') {$currentstring .='\batchmode';}
$currentstring .= '\newcommand{\keephidden}[1]{}'.
'\renewcommand{\deg}{$^{\circ}$}'.
@@ -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.");
@@ -529,12 +531,19 @@ sub start_body {
$token->[2]->{'onunload'}=&Apache::lonmenu::unloadevents().
';'.$onUnload;
- $currentstring .= '<'.$token->[1];
+ if ($ENV{'request.state'} ne 'construct') {
+ $currentstring .= '<'.$token->[1];
+ }
foreach (keys %{$token->[2]}) {
$currentstring.=' '.$_.'="'.$token->[2]->{$_}.'"';
}
- $currentstring.='>';
+ if ($ENV{'request.state'} ne 'construct') {
+ $currentstring.='>';
+ }
if ($ENV{'request.state'} ne 'published') {
+ my $remote=($ENV{'environment.remote'} ne 'off');
+ $currentstring=&Apache::loncommon::bodytag(undef,undef,
+ $currentstring,$remote);
$currentstring.=(<
@@ -1701,6 +1710,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 +1730,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 +1747,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 +1760,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 +1783,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]++;
@@ -2444,7 +2459,7 @@ sub start_img {
if (-e $newsrc) {
#eps counterpart for image exist
if ($path) {
- $currentstring .= '\vskip 1 mm \noindent\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';
+ $currentstring .= '\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';
}
} else {
#there is no eps counterpart for image - check for ps one
@@ -2453,11 +2468,11 @@ sub start_img {
#ps counterpart for image exist
$file =~ s/\.eps$/\.ps/;
if ($path) {
- $currentstring .= '\vskip 1 mm \noindent\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';
+ $currentstring .= '\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';
}
} else {
#care about eps dynamical generation
- $currentstring.='\vskip 1 mm '.&eps_generation($src,$file,$width_param);
+ $currentstring.=&eps_generation($src,$file,$width_param);
}
}
} else {