Diff for /loncom/interface/lonprintout.pm between versions 1.493 and 1.506

version 1.493, 2007/01/08 10:57:41 version 1.506, 2007/07/25 23:20:38
Line 48  my %perm; Line 48  my %perm;
 my %parmhash;  my %parmhash;
 my $resources_printed;  my $resources_printed;
   
   # Fetch the contents of a resource, uninterpreted.
   # This is used here to fetch a latex file to be included
   # verbatim into the printout<
   # NOTE: Ask Guy if there is a lonnet function similar to this?
   #
   # Parameters:
   #   URL of the file
   #
   sub fetch_raw_resource {
       my ($url) = @_;
   
       my $filename  = &Apache::lonnet::filelocation("", $url);
       my $contents  = &Apache::lonnet::getfile($filename);
   
       if ($contents == -1) {
    return "File open failed for $filename";      # This will bomb the print.
       }
       return $contents;
   
       
   }
   
 #  #
 #   printf_style_subst  item format_string repl  #   printf_style_subst  item format_string repl
 #    #  
Line 490  sub character_chart { Line 512  sub character_chart {
     $result =~ s/&\#147;/\`\`/g;      $result =~ s/&\#147;/\`\`/g;
     $result =~ s/&\#148;/\'\'/g;      $result =~ s/&\#148;/\'\'/g;
     $result =~ s/&\#149;/\\ensuremath\{\\bullet\}/g;      $result =~ s/&\#149;/\\ensuremath\{\\bullet\}/g;
     $result =~ s/&\#150;/--/g;      $result =~ s/&(\#150|\#8211);/--/g;
     $result =~ s/&\#151;/---/g;      $result =~ s/&\#151;/---/g;
     $result =~ s/&\#152;/\\ensuremath\{\\sim\}/g;      $result =~ s/&\#152;/\\ensuremath\{\\sim\}/g;
     $result =~ s/&\#153;/\\texttrademark /g;      $result =~ s/&\#153;/\\texttrademark /g;
Line 697  sub character_chart { Line 719  sub character_chart {
     $result =~ s/&(clubs|\#9827);/\\ensuremath\{\\clubsuit\}/g;      $result =~ s/&(clubs|\#9827);/\\ensuremath\{\\clubsuit\}/g;
     $result =~ s/&(hearts|\#9829);/\\ensuremath\{\\heartsuit\}/g;      $result =~ s/&(hearts|\#9829);/\\ensuremath\{\\heartsuit\}/g;
     $result =~ s/&(diams|\#9830);/\\ensuremath\{\\diamondsuit\}/g;      $result =~ s/&(diams|\#9830);/\\ensuremath\{\\diamondsuit\}/g;
   #   Chemically useful 'things' contributed by Hon Kie (bug 4652).
       $result =~ s/&\#8636;/\\ensuremath\{\\leftharpoonup\}/g;
       $result =~ s/&\#8637;/\\ensuremath\{\\leftharpoondown\}/g;
       $result =~ s/&\#8640;/\\ensuremath\{\\rightharpoonup\}/g;
       $result =~ s/&\#8641;/\\ensuremath\{\\rightharpoondown\}/g;
       $result =~ s/&\#8652;/\\ensuremath\{\\rightleftharpoons\}/g;
       $result =~ s/&\#8605;/\\ensuremath\{\\leadsto\}/g;
       $result =~ s/&\#8617;/\\ensuremath\{\\hookleftarrow\}/g;
       $result =~ s/&\#8618;/\\ensuremath\{\\hookrightarrow\}/g;
       $result =~ s/&\#8614;/\\ensuremath\{\\mapsto\}/g;
       $result =~ s/&\#8599;/\\ensuremath\{\\nearrow\}/g;
       $result =~ s/&\#8600;/\\ensuremath\{\\searrow\}/g;
       $result =~ s/&\#8601;/\\ensuremath\{\\swarrow\}/g;
       $result =~ s/&\#8598;/\\ensuremath\{\\nwarrow\}/g;
     return $result;      return $result;
 }  }
   
Line 709  my %page_formats= Line 745  my %page_formats=
      '2' => ['3.66 in','9.8 in', '-0.57 in','-0.57 in','0.275 in']       '2' => ['3.66 in','9.8 in', '-0.57 in','-0.57 in','0.275 in']
  },   },
  'album' => {   'album' => {
      '1' => [ '8.8 in', '6.8 in','-0.55 in',  '-0.55 in','1.0 in'],       '1' => [ '8.8 in', '6.8 in','-0.55 in',  '-0.55 in','0.394 in'],
      '2' => [ '4.8 in', '6.8 in','-0.5 in', '-1.0 in','3.5 in']       '2' => [ '4.8 in', '6.8 in','-0.5 in', '-1.0 in','3.5 in']
  },   },
      },       },
Line 766  my %page_formats= Line 802  my %page_formats=
      'a4' => {       'a4' => {
  'book' => {   'book' => {
      '1' => ['17.6 cm','27.2 cm','-1.397 cm','-2.11 cm','-1.27 cm'],       '1' => ['17.6 cm','27.2 cm','-1.397 cm','-2.11 cm','-1.27 cm'],
      '2' => [ '9.1 cm','27.2 cm','-1.397 c,','-2.11 cm','-1.27 cm']       '2' => [ '9.1 cm','27.2 cm','-1.397 cm','-2.11 cm','-1.27 cm']
  },   },
  'album' => {   'album' => {
      '1' => ['21.59 cm','19.558 cm','-1.27 cm','-2.11 cm','0 cm'],       '1' => ['21.59 cm','19.558 cm','-1.397cm','-2.11 cm','0 cm'],
      '2' => ['9.91 cm','19.558 cm','-1.397 cm','-2.11 cm','0 cm']       '2' => ['9.91 cm','19.558 cm','-1.397 cm','-2.11 cm','0 cm']
  },   },
      },       },
Line 831  sub page_format_transformation { Line 867  sub page_format_transformation {
     my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin);      my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin);
   
     if ($selectionmade eq '4') {      if ($selectionmade eq '4') {
  $assignment='Problems from the Whole Course';   if ($choice eq 'all_problems') {
       $assignment='Problems from the Whole Course';
    } else {
       $assignment='Resources from the Whole Course';
    }
     } else {      } else {
  $assignment=&Apache::lonxml::latex_special_symbols($assignment,'header');   $assignment=&Apache::lonxml::latex_special_symbols($assignment,'header');
     }      }
Line 1251  sub output_data { Line 1291  sub output_data {
     my ($r,$helper,$rparmhash) = @_;      my ($r,$helper,$rparmhash) = @_;
     my %parmhash = %$rparmhash;      my %parmhash = %$rparmhash;
     $resources_printed = '';      $resources_printed = '';
       my $do_postprocessing = 1;
     my $js = <<ENDPART;      my $js = <<ENDPART;
 <script type="text/javascript">  <script type="text/javascript">
     var editbrowser;      var editbrowser;
Line 1330  ENDPART Line 1371  ENDPART
     if ($helper->{'VARS'}->{'showallfoils'} eq "1") {       if ($helper->{'VARS'}->{'showallfoils'} eq "1") { 
  $form{'showallfoils'} = $helper->{'VARS'}->{'showallfoils'};   $form{'showallfoils'} = $helper->{'VARS'}->{'showallfoils'};
     }      }
       
       if ($helper->{'VARS'}->{'style_file'}=~/\w/) {
    &Apache::lonnet::appenv('construct.style' =>
    $helper->{'VARS'}->{'style_file'});
       } elsif ($env{'construct.style'}) {
    &Apache::lonnet::delenv('construct\\.style');
       }
   
   
     if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {      if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {
       #-- single document - problem, page, html, xml, ...        #-- single document - problem, page, html, xml, ...
Line 1353  ENDPART Line 1402  ENDPART
     if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') {      if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') {
  my %moreenv;   my %moreenv;
  $moreenv{'request.filename'}=$cleanURL;   $moreenv{'request.filename'}=$cleanURL;
  if ($helper->{'VARS'}->{'style_file'}=~/\w/) {  
     $moreenv{'construct.style'}=$helper->{'VARS'}->{'style_file'};  
     my $dom = $env{'user.domain'};  
     my $user = $env{'user.name'};  
     my $put_result = &Apache::lonnet::put('environment',{'construct.style'=>$helper->{'VARS'}->{'style_file'}},$dom,$user);  
  }  
                 if ($helper->{'VARS'}->{'probstatus'} eq 'exam') {$form{'problemtype'}='exam';}                  if ($helper->{'VARS'}->{'probstatus'} eq 'exam') {$form{'problemtype'}='exam';}
  $form{'problem_split'}=$parmhash{'problem_stream_switch'};   $form{'problem_split'}=$parmhash{'problem_stream_switch'};
  $form{'suppress_tries'}=$parmhash{'suppress_tries'};   $form{'suppress_tries'}=$parmhash{'suppress_tries'};
Line 1407  ENDPART Line 1450  ENDPART
  $texversion.='\vskip 0 mm \noindent\textbf{Prints from construction space - there is no title.}\vskip 0 mm ';   $texversion.='\vskip 0 mm \noindent\textbf{Prints from construction space - there is no title.}\vskip 0 mm ';
  my $URLpath=$cleanURL;   my $URLpath=$cleanURL;
  $URLpath=~s/~([^\/]+)/public_html\/$1\/$1/;   $URLpath=~s/~([^\/]+)/public_html\/$1\/$1/;
  $texversion.=&path_to_problem ($URLpath,$LaTeXwidth);   $texversion.=&path_to_problem($URLpath,$LaTeXwidth);
     }      }
     $texversion.='\vskip 1 mm '.$answer.'\end{document}';      $texversion.='\vskip 1 mm '.$answer.'\end{document}';
  }   }
Line 1441  ENDPART Line 1484  ENDPART
  $resources_printed .= $currentURL.':';   $resources_printed .= $currentURL.':';
  my $texversion=&Apache::lonnet::ssi($currentURL,%form);   my $texversion=&Apache::lonnet::ssi($currentURL,%form);
  $result .= $texversion;   $result .= $texversion;
    } elsif ($cleanURL =~/.tex$/) {
       # For this sort of print of a single LaTeX file,
       # We can just print the LaTeX file as it is uninterpreted in any way:
       #
   
       $result = &fetch_raw_resource($currentURL);
       $do_postprocessing = 0; # Don't massage the result.
   
  } else {   } else {
     $result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'},      $result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'},
   $helper->{'VARS'}->{'symb'});    $helper->{'VARS'}->{'symb'});
Line 1845  ENDPART Line 1896  ENDPART
  $result .= '\end{document}';         $result .= '\end{document}';      
     }      }
 #-------------------------------------------------------- corrections for the different page formats  #-------------------------------------------------------- corrections for the different page formats
     $result = &page_format_transformation($papersize,$laystyle,$numberofcolumns,$helper->{'VARS'}->{'PRINT_TYPE'},$result,$helper->{VARS}->{'assignment'},$helper->{'VARS'}->{'TABLE_CONTENTS'},$helper->{'VARS'}->{'TABLE_INDEX'},$selectionmade);  
     $result = &latex_corrections($number_of_columns,$result,$selectionmade,      # Only post process if that has not been turned off e.g. by a raw latex resource.
  $helper->{'VARS'}->{'ANSWER_TYPE'});  
     #if ($numberofcolumns == 1) {      if ($do_postprocessing) {
    $result = &page_format_transformation($papersize,$laystyle,$numberofcolumns,$helper->{'VARS'}->{'PRINT_TYPE'},$result,$helper->{VARS}->{'assignment'},$helper->{'VARS'}->{'TABLE_CONTENTS'},$helper->{'VARS'}->{'TABLE_INDEX'},$selectionmade);
    $result = &latex_corrections($number_of_columns,$result,$selectionmade,
        $helper->{'VARS'}->{'ANSWER_TYPE'});
    #if ($numberofcolumns == 1) {
  $result =~ s/\\textwidth\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\textwidth= $helper->{'VARS'}->{'pagesize.width'} $helper->{'VARS'}->{'pagesize.widthunit'} /;   $result =~ s/\\textwidth\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\textwidth= $helper->{'VARS'}->{'pagesize.width'} $helper->{'VARS'}->{'pagesize.widthunit'} /;
  $result =~ s/\\textheight\s*=?\s*-?\d*\.?\d*\s*(cm|mm|in)/\\textheight $helper->{'VARS'}->{'pagesize.height'} $helper->{'VARS'}->{'pagesize.heightunit'} /;   $result =~ s/\\textheight\s*=?\s*-?\d*\.?\d*\s*(cm|mm|in)/\\textheight $helper->{'VARS'}->{'pagesize.height'} $helper->{'VARS'}->{'pagesize.heightunit'} /;
  $result =~ s/\\evensidemargin\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;   $result =~ s/\\evensidemargin\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;
  $result =~ s/\\oddsidemargin\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;   $result =~ s/\\oddsidemargin\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;
     #}   #}
       }
   
 #-- writing .tex file in prtspool   #-- writing .tex file in prtspool 
     my $temp_file;      my $temp_file;
Line 2551  CHOOSE_STUDENTS Line 2607  CHOOSE_STUDENTS
        </validator>         </validator>
     </string>      </string>
     <message></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
     <message><b>Names to store the CODEs under for later:</b></message>      <message><b>Names to save the CODEs under for later:</b></message>
     <message></td><td></message>      <message></td><td></message>
     <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />      <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />
     <message></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
Line 2662  CHOOSE_STUDENTS1 Line 2718  CHOOSE_STUDENTS1
        </validator>         </validator>
     </string>      </string>
     <message></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
     <message><b>Names to store the CODEs under for later:</b></message>      <message><b>Names to save the CODEs under for later:</b></message>
     <message></td><td></message>      <message></td><td></message>
     <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />      <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />
     <message></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
Line 2784  CHOOSE_FROM_ANY_SEQUENCE Line 2840  CHOOSE_FROM_ANY_SEQUENCE
   
     if (($perm{'pav'} and &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) or       if (($perm{'pav'} and &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) or 
  ($helper->{VARS}->{'construction'} eq '1')) {   ($helper->{VARS}->{'construction'} eq '1')) {
  addMessage("<hr width='33%' /><table><tr><td align='right'>Print: </td><td>");   addMessage("<hr width='33%' /><table><tr><td align='right'>".
                      '<label for="ANSWER_TYPE_forminput">'.
                      &mt('Print').
                      "</label>: </td><td>");
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{'variable'} = 'ANSWER_TYPE';      $paramHash->{'variable'} = 'ANSWER_TYPE';   
  $helper->declareVar('ANSWER_TYPE');            $helper->declareVar('ANSWER_TYPE');         
Line 2800  CHOOSE_FROM_ANY_SEQUENCE Line 2859  CHOOSE_FROM_ANY_SEQUENCE
   
     if ($perm{'pav'}) {      if ($perm{'pav'}) {
  if (!$startedTable) {   if (!$startedTable) {
     addMessage("<hr width='33%' /><table><tr><td align='right'>LaTeX mode: </td><td>");      addMessage("<hr width='33%' /><table><tr><td align='right'>".
                          '<label for="LATEX_TYPE_forminput">'.
                          &mt('LaTeX mode').
                          "</label>: </td><td>");
     $startedTable = 1;      $startedTable = 1;
  } else {   } else {
     addMessage("<tr><td align='right'>LaTeX mode: </td><td>");      addMessage("<tr><td align='right'>".
                          '<label for="LATEX_TYPE_forminput">'.
                           &mt('LaTeX mode').
                          "</label>: </td><td>");
  }   }
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{'variable'} = 'LATEX_TYPE';      $paramHash->{'variable'} = 'LATEX_TYPE';   
Line 2819  CHOOSE_FROM_ANY_SEQUENCE Line 2884  CHOOSE_FROM_ANY_SEQUENCE
  }   }
         Apache::lonhelper::dropdown->new();          Apache::lonhelper::dropdown->new();
     
  addMessage("</td></tr><tr><td align='right'>Print Table of Contents: </td><td>");   addMessage("</td></tr><tr><td align='right'>".
                      '<label for="TABLE_CONTENTS_forminput">'.
                      &mt('Print Table of Contents').
                      "</label>: </td><td>");
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{'variable'} = 'TABLE_CONTENTS';      $paramHash->{'variable'} = 'TABLE_CONTENTS';   
  $helper->declareVar('TABLE_CONTENTS');            $helper->declareVar('TABLE_CONTENTS');         
Line 2830  CHOOSE_FROM_ANY_SEQUENCE Line 2898  CHOOSE_FROM_ANY_SEQUENCE
  addMessage("</td></tr>");   addMessage("</td></tr>");
                   
  if (not $helper->{VARS}->{'construction'}) {   if (not $helper->{VARS}->{'construction'}) {
     addMessage("<tr><td align='right'>Print Index: </td><td>");      addMessage("<tr><td align='right'>".
                          '<label for="TABLE_INDEX_forminput">'.
                          &mt('Print Index').
                          "</label>: </td><td>");
     $paramHash = Apache::lonhelper::getParamHash();      $paramHash = Apache::lonhelper::getParamHash();
     $paramHash->{'variable'} = 'TABLE_INDEX';         $paramHash->{'variable'} = 'TABLE_INDEX';   
     $helper->declareVar('TABLE_INDEX');               $helper->declareVar('TABLE_INDEX');         
Line 2839  CHOOSE_FROM_ANY_SEQUENCE Line 2910  CHOOSE_FROM_ANY_SEQUENCE
      ['Yes', 'yes'] ];       ['Yes', 'yes'] ];
     Apache::lonhelper::dropdown->new();      Apache::lonhelper::dropdown->new();
     addMessage("</td></tr>");      addMessage("</td></tr>");
     addMessage("<tr><td align='right'>Print Discussions: </td><td>");      addMessage("<tr><td align='right'>".
                          '<label for="PRINT_DISCUSSIONS_forminput">'.
                          &mt('Print Discussions').
                          "</label>: </td><td>");
     $paramHash = Apache::lonhelper::getParamHash();      $paramHash = Apache::lonhelper::getParamHash();
     $paramHash->{'variable'} = 'PRINT_DISCUSSIONS';         $paramHash->{'variable'} = 'PRINT_DISCUSSIONS';   
     $helper->declareVar('PRINT_DISCUSSIONS');               $helper->declareVar('PRINT_DISCUSSIONS');         
Line 2860  CHOOSE_FROM_ANY_SEQUENCE Line 2934  CHOOSE_FROM_ANY_SEQUENCE
  }   }
   
  if ($helper->{'VARS'}->{'construction'}) {    if ($helper->{'VARS'}->{'construction'}) { 
     my $stylevalue=$env{'construct.style'};      my $stylevalue='$Apache::lonnet::env{"construct.style"}';
               my $randseedtext=&mt("Use random seed");
               my $stylefiletext=&mt("Use style file");
               my $selectfiletext=&mt("Select style file");
   
     my $xmlfrag .= <<"RNDSEED";      my $xmlfrag .= <<"RNDSEED";
     <message><tr><td align='right'>Use random seed:  </td><td></message>      <message><tr><td align='right'>
               <label for="curseed_forminput">$randseedtext</label>:
               </td><td></message>
     <string variable="curseed" size="15" maxlength="15">      <string variable="curseed" size="15" maxlength="15">
  <defaultvalue>   <defaultvalue>
             return $helper->{VARS}->{'curseed'};              return $helper->{VARS}->{'curseed'};
         </defaultvalue>          </defaultvalue>
     </string>      </string>
      <message></td></tr><tr><td align="right">Use style file:</td><td></message>       <message></td></tr><tr><td align="right">
              <message><input type="text" size="40" name="style_file_value" value="$stylevalue"  />&nbsp; <a href="javascript:openbrowser('helpform','style_file_value','sty')">Select style file</a> </td><tr><td></message>               <label for="style_file">$stylefiletext</label>:
                </td><td></message>
                <string variable="style_file" size="40">
    <defaultvalue>
               return $stylevalue;
           </defaultvalue>
                </string><message>&nbsp; <a href="javascript:openbrowser('helpform','style_file_forminput','sty')">$selectfiletext</a> </td></tr><tr><td></td><td align="left"></message>
      <choices allowempty="1" multichoice="true" variable="showallfoils">       <choices allowempty="1" multichoice="true" variable="showallfoils">
                 <choice computer="1">Show all foils?</choice>                  <choice computer="1">Show all foils</choice>
              </choices>               </choices>
      <message></td></tr></message>       <message></td></tr></message>
 RNDSEED  RNDSEED
             &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);              &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);
     $helper->{'VARS'}->{'style_file'}=$env{'form.style_file_value'};  
       
  }    } 
     }      }
   
Line 2982  sub render { Line 3066  sub render {
     my $PageLayout=&mt('Page layout');      my $PageLayout=&mt('Page layout');
     my $NumberOfColumns=&mt('Number of columns');      my $NumberOfColumns=&mt('Number of columns');
     my $PaperType=&mt('Paper type');      my $PaperType=&mt('Paper type');
       my $landscape=&mt('Landscape');
       my $portrait=&mt('Portrait');
     $result .= <<STATEHTML;      $result .= <<STATEHTML;
   
 <hr width="33%" />  <hr width="33%" />
Line 2993  sub render { Line 3079  sub render {
   </tr>    </tr>
   <tr>    <tr>
     <td>      <td>
       <label><input type="radio" name="${var}.layout" value="L" /> Landscape </label><br />        <label><input type="radio" name="${var}.layout" value="L" /> $landscape </label><br />
       <label><input type="radio" name="${var}.layout" value="P" checked='1'  /> Portrait </label>        <label><input type="radio" name="${var}.layout" value="P" checked='1'  /> $portrait </label>
     </td>      </td>
     <td align="center">      <td align="center">
       <select name="${var}.cols">        <select name="${var}.cols">
Line 3150  sub render { Line 3236  sub render {
     }  else {      }  else {
  $size{'margin'} += 2.54;   $size{'margin'} += 2.54;
     }      }
     $result .= <<ELEMENTHTML;      my %text = ('format' => 'How should each column be formatted?',
    'width'  => 'Width:',
    'height' => 'Height:',
    'margin' => 'Left Margin:',);
       %text = &Apache::lonlocal::texthash(%text);
   
         $result .= <<ELEMENTHTML;
   
 <p>How should each column be formatted?</p>  <p>$text{'format'}</p>
   
 <table cellpadding='3'>  <table cellpadding='3'>
   <tr>    <tr>
     <td align='right'><b>Width</b>:</td>      <td align='right'><b>$text{'width'}</b></td>
     <td align='left'><input type='text' name='$var.width' value="$size{'width'}" size='4' /></td>      <td align='left'><input type='text' name='$var.width' value="$size{'width'}" size='4' /></td>
     <td align='left'>      <td align='left'>
       <select name='$var.widthunit'>        <select name='$var.widthunit'>
Line 3167  sub render { Line 3257  sub render {
     </td>      </td>
   </tr>    </tr>
   <tr>    <tr>
     <td align='right'><b>Height</b>:</td>      <td align='right'><b>$text{'height'}</b></td>
     <td align='left'><input type='text' name="$var.height" value="$size{'height'}" size='4' /></td>      <td align='left'><input type='text' name="$var.height" value="$size{'height'}" size='4' /></td>
     <td align='left'>      <td align='left'>
       <select name='$var.heightunit'>        <select name='$var.heightunit'>
Line 3176  sub render { Line 3266  sub render {
     </td>      </td>
   </tr>    </tr>
   <tr>    <tr>
     <td align='right'><b>Left margin</b>:</td>      <td align='right'><b>$text{'margin'}</b></td>
     <td align='left'><input type='text' name='$var.lmargin' value="$size{'margin'}" size='4' /></td>      <td align='left'><input type='text' name='$var.lmargin' value="$size{'margin'}" size='4' /></td>
     <td align='left'>      <td align='left'>
       <select name='$var.lmarginunit'>        <select name='$var.lmarginunit'>

Removed from v.1.493  
changed lines
  Added in v.1.506


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>