--- loncom/xml/londefdef.pm 2008/10/15 09:25:42 1.394 +++ loncom/xml/londefdef.pm 2009/04/11 01:12:58 1.396.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.394 2008/10/15 09:25:42 bisitz Exp $ +# $Id: londefdef.pm,v 1.396.2.2 2009/04/11 01:12:58 raeburn Exp $ # # # Copyright Michigan State University Board of Trustees @@ -139,7 +139,7 @@ sub start_m { # detect simple math mode entry exits, and convert them # to use \ensuremath ... unless there's a \verb inside. if (! ($currentstring=~/\\verb/)) { - if ($currentstring=~/^\s*\$[^\$].*[^\$]\$\s*$/) { + if ($currentstring=~/^\s*\$[^\$].*\$\s*$/) { $currentstring=~s/^(\s*)\$/$1/; $currentstring=~s/\$(\s*)$/$1/; $currentstring='\ensuremath{'.$currentstring.'}'; @@ -212,14 +212,7 @@ sub start_html { '\usepackage{amsmath}'. '\usepackage{amssymb}'. '\usepackage{amsfonts}'. - '\usepackage{amsthm}'. - '\usepackage{amscd}'; - - if($env{'form.pdfFormFields'} eq 'yes') { - $currentstring .= '\usepackage{hyperref}'. - '\usepackage{eforms}'. - '\usepackage{tabularx}'; - } + '\usepackage{amsthm}'; $currentstring .= '\newenvironment{choicelist}{\begin{list}{}{\setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.05in}\setlength{\itemsep}{0.022in}\setlength{\parsep}{0in}\setlength{\belowdisplayskip}{0.04in}\setlength{\abovedisplayskip}{0.05in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.04in}}}{\end{list}}'. '\renewenvironment{theindex}{\begin{list}{}{{\vskip 1mm \noindent \large\textbf{Index}} \newline \setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.01in}\setlength{\itemsep}{0.1in}\setlength{\parsep}{-0.02in}\setlength{\belowdisplayskip}{0.01in}\setlength{\abovedisplayskip}{0.01in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.01in}}}{\end{list}}'; @@ -1657,6 +1650,26 @@ sub start_a { my $href=&Apache::lonxml::get_param('href',$parstack,$safeeval, undef,1); $currentstring=&Apache::lonenc::encrypt_ref($token,{'href'=>$href}); + if ($href =~ /\S/) { + if ($href !~ m{^https?://}) { + my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'}); + my $linkurl; + if ($href =~ m{^/uploaded/}) { + $linkurl = $href; + } elsif ($href =~ m{^[^/]}) { + my $path = $url; + $path =~ s{[^/]*$}{}; + $linkurl = $path.$href; + } + if ($linkurl =~ m{^/uploaded/}) { + if (!&Apache::lonnet::allowed('bre',$linkurl)) { + if (&Apache::lonnet::is_on_map($url)) { + &Apache::lonxml::extlink($linkurl); + } + } + } + } + } } return $currentstring; } @@ -2026,6 +2039,7 @@ sub start_table { if ($target eq 'web' || $target eq 'webgrade') { $currentstring .= $token->[4]; } elsif ($target eq 'tex') { + &disable_para(); # Can't have paras in a table. push(@Apache::londefdef::table, {}); $Apache::londefdef::table[-1]{'row_number'} = -1; #maximum table's width (default coincides with text line length) @@ -2524,7 +2538,8 @@ sub end_table { pop @Apache::londefdef::table; undef @Apache::londefdef::table; } - } + } + &enable_para(); } return $currentstring; }