version 1.211, 2004/04/15 20:17:32
|
version 1.226, 2004/07/12 17:19:13
|
Line 156 sub start_html {
|
Line 156 sub start_html {
|
@Apache::londefdef::table = (); |
@Apache::londefdef::table = (); |
$currentstring .= '\documentclass[letterpaper]{article}'; |
$currentstring .= '\documentclass[letterpaper]{article}'; |
if ($ENV{'form.latex_type'}=~'batchmode') {$currentstring .='\batchmode';} |
if ($ENV{'form.latex_type'}=~'batchmode') {$currentstring .='\batchmode';} |
$currentstring .= '\newcommand{\keephidden}[1]{} |
$currentstring .= '\newcommand{\keephidden}[1]{}'. |
\renewcommand{\deg}{$^{\circ}$} |
'\renewcommand{\deg}{$^{\circ}$}'. |
\usepackage{longtable} |
'\usepackage{longtable}'. |
\usepackage{textcomp} |
'\usepackage{textcomp}'. |
\usepackage{makeidx} |
'\usepackage{makeidx}'. |
\usepackage[dvips]{graphicx} |
'\usepackage[dvips]{graphicx}'. |
\usepackage{epsfig}\usepackage{calc} |
'\usepackage{epsfig}'. |
\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}} |
'\usepackage{calc}'. |
\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}}'; |
'\usepackage{amsmath}'. |
|
'\usepackage{amssymb}'. |
|
'\usepackage{amsfonts}'. |
|
'\usepackage{amsthm}'. |
|
'\usepackage{amscd}'. |
|
'\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}}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 633 sub start_h1 {
|
Line 639 sub start_h1 {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $pre; |
my $pre; |
my $align=lc(&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1)); |
my $align=lc(&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1)); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$pre='\begin{center}'; |
$pre='\begin{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$pre='\rlap{'; |
$pre='\rlap{'; |
Line 656 sub end_h1 {
|
Line 662 sub end_h1 {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $post; |
my $post='\vskip 0 mm '; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$post='\end{center}'; |
$post='\end{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$post='} \hfill'.'\vskip 0 mm '; |
$post='} \hfill'.'\vskip 0 mm '; |
Line 682 sub start_h2 {
|
Line 688 sub start_h2 {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $pre; |
my $pre; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$pre='\begin{center}'; |
$pre='\begin{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$pre='\rlap{'; |
$pre='\rlap{'; |
Line 702 sub end_h2 {
|
Line 708 sub end_h2 {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $post; |
my $post='\vskip 0 mm '; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$post='\end{center}'; |
$post='\end{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$post='} \hfill'.'\vskip 0 mm '; |
$post='} \hfill'.'\vskip 0 mm '; |
Line 725 sub start_h3 {
|
Line 731 sub start_h3 {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $pre; |
my $pre; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$pre='\begin{center}'; |
$pre='\begin{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$pre='\rlap{'; |
$pre='\rlap{'; |
Line 745 sub end_h3 {
|
Line 751 sub end_h3 {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $post; |
my $post='\vskip 0 mm '; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$post='\end{center}'; |
$post='\end{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$post='} \hfill'.'\vskip 0 mm '; |
$post='} \hfill'.'\vskip 0 mm '; |
Line 768 sub start_h4 {
|
Line 774 sub start_h4 {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $pre; |
my $pre; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$pre='\begin{center}'; |
$pre='\begin{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$pre='\rlap{'; |
$pre='\rlap{'; |
Line 788 sub end_h4 {
|
Line 794 sub end_h4 {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $post; |
my $post='\vskip 0 mm '; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$post='\end{center}'; |
$post='\end{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$post='} \hfill'.'\vskip 0 mm '; |
$post='} \hfill'.'\vskip 0 mm '; |
Line 811 sub start_h5 {
|
Line 817 sub start_h5 {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $pre; |
my $pre; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$pre='\begin{center}'; |
$pre='\begin{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$pre='\rlap{'; |
$pre='\rlap{'; |
Line 831 sub end_h5 {
|
Line 837 sub end_h5 {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $post; |
my $post='\vskip 0 mm '; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$post='\end{center}'; |
$post='\end{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$post='} \hfill'.'\vskip 0 mm '; |
$post='} \hfill'.'\vskip 0 mm '; |
Line 854 sub start_h6 {
|
Line 860 sub start_h6 {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $pre; |
my $pre; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$pre='\begin{center}'; |
$pre='\begin{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$pre='\rlap{'; |
$pre='\rlap{'; |
Line 874 sub end_h6 {
|
Line 880 sub end_h6 {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $post; |
my $post='\vskip 0 mm '; |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if (($align eq 'center') || (not defined $align)) { |
if ($align eq 'center') { |
$post='\end{center}'; |
$post='\end{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$post='} \hfill'.'\vskip 0 mm '; |
$post='} \hfill'.'\vskip 0 mm '; |
Line 1110 sub start_p {
|
Line 1116 sub start_p {
|
$currentstring='\makebox['.$ENV{'form.textwidth'}.']{\hfill\llap{'; |
$currentstring='\makebox['.$ENV{'form.textwidth'}.']{\hfill\llap{'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$currentstring='\noindent\makebox['.$ENV{'form.textwidth'}.']{\rlap{'; |
$currentstring='\noindent\makebox['.$ENV{'form.textwidth'}.']{\rlap{'; |
} |
} else { |
|
$currentstring='\par '; |
|
} |
my $signal=1;#<p> does not work inside <b>...</b> |
my $signal=1;#<p> does not work inside <b>...</b> |
foreach my $tag (@$tagstack) {if (lc($tag) eq 'b') {$signal=0;} |
foreach my $tag (@$tagstack) {if (lc($tag) eq 'b') {$signal=0;} |
if (!$signal) {$currentstring = '';} |
if (!$signal) {$currentstring = '';} |
Line 1125 sub end_p {
|
Line 1133 sub end_p {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
if ($$tagstack[-1] eq 'p') { |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
if ($align eq 'center') { |
if ($align eq 'center') { |
$currentstring .= '\end{center}'; |
$currentstring .= '\end{center}'; |
} elsif ($align eq 'right') { |
} elsif ($align eq 'right') { |
$currentstring .= '}}'; |
$currentstring .= '}}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$currentstring .= '}\hfill}'; |
$currentstring .= '}\hfill}'; |
|
} |
|
} |
} |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1146 sub start_br {
|
Line 1152 sub start_br {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
if ($$tagstack[-2] ne 'sub' && $$tagstack[-2] ne 'sup') { |
if (($$tagstack[-2] eq 'b') || ($$tagstack[-2] eq 'strong') || |
$currentstring .= '\vskip 0.2 mm '; |
($$tagstack[-2] eq 'ol') || ($$tagstack[-2] eq 'ul')) { |
|
$currentstring .= ' \vskip 0 mm '; |
|
} elsif ($$tagstack[-2] ne 'sub' && $$tagstack[-2] ne 'sup') { |
|
$currentstring .= '\strut \\\\ \strut '; |
} |
} |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1523 sub start_ul {
|
Line 1532 sub start_ul {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $TeXtype=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0); |
my $TeXtype=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0); |
if ($TeXtype eq 'disc') { |
if ($TeXtype eq 'disc') { |
$currentstring .= ' \renewcommand{\labelitemi}{$\bullet$} |
$currentstring .= '\renewcommand{\labelitemi}{$\bullet$}'. |
\renewcommand{\labelitemii}{$\bullet$} |
'\renewcommand{\labelitemii}{$\bullet$}'. |
\renewcommand{\labelitemiii}{$\bullet$} |
'\renewcommand{\labelitemiii}{$\bullet$}'. |
\renewcommand{\labelitemiv}{$\bullet$}'; |
'\renewcommand{\labelitemiv}{$\bullet$}'; |
} elsif ($TeXtype eq 'circle') { |
} elsif ($TeXtype eq 'circle') { |
$currentstring .= ' \renewcommand{\labelitemi}{$\circ$} |
$currentstring .= '\renewcommand{\labelitemi}{$\circ$}'. |
\renewcommand{\labelitemii}{$\circ$} |
'\renewcommand{\labelitemii}{$\circ$}'. |
\renewcommand{\labelitemiii}{$\circ$} |
'\renewcommand{\labelitemiii}{$\circ$}'. |
\renewcommand{\labelitemiv}{$\circ$}'; |
'\renewcommand{\labelitemiv}{$\circ$}'; |
} elsif ($TeXtype eq 'square') { |
} elsif ($TeXtype eq 'square') { |
$currentstring .= ' \renewcommand{\labelitemi}{$\diamond$} |
$currentstring .= '\renewcommand{\labelitemi}{$\diamond$}'. |
\renewcommand{\labelitemii}{$\diamond$} |
'\renewcommand{\labelitemii}{$\diamond$}'. |
\renewcommand{\labelitemiii}{$\diamond$} |
'\renewcommand{\labelitemiii}{$\diamond$}'. |
\renewcommand{\labelitemiv}{$\diamond$}'; |
'\renewcommand{\labelitemiv}{$\diamond$}'; |
} |
} |
$currentstring .= '\begin{itemize}'; |
$currentstring .= '\strut \begin{itemize}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1549 sub end_ul {
|
Line 1558 sub end_ul {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '\end{itemize} \renewcommand{\labelitemi}{$\bullet$} |
$currentstring = '\end{itemize} \renewcommand{\labelitemi}{$\bullet$}'. |
\renewcommand{\labelitemii}{$\bullet$} |
'\renewcommand{\labelitemii}{$\bullet$}'. |
\renewcommand{\labelitemiii}{$\bullet$} |
'\renewcommand{\labelitemiii}{$\bullet$}'. |
\renewcommand{\labelitemiv}{$\bullet$}'; |
'\renewcommand{\labelitemiv}{$\bullet$}\strut '; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1612 sub start_ol {
|
Line 1621 sub start_ol {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0); |
my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0); |
if ($type eq '1') { |
if ($type eq '1') { |
$currentstring .= ' \renewcommand{\labelenumi}{\arabic{enumi}.} |
$currentstring .= '\renewcommand{\labelenumi}{\arabic{enumi}.}'. |
\renewcommand{\labelenumii}{\arabic{enumii}.} |
'\renewcommand{\labelenumii}{\arabic{enumii}.}'. |
\renewcommand{\labelenumiii}{\arabic{enumiii}.} |
'\renewcommand{\labelenumiii}{\arabic{enumiii}.}'. |
\renewcommand{\labelenumiv}{\arabic{enumiv}.}'; |
'\renewcommand{\labelenumiv}{\arabic{enumiv}.}'; |
} elsif ($type eq 'A') { |
} elsif ($type eq 'A') { |
$currentstring .= ' \renewcommand{\labelenumi}{\Alph{enumi}.} |
$currentstring .= '\renewcommand{\labelenumi}{\Alph{enumi}.}'. |
\renewcommand{\labelenumii}{\Alph{enumii}.} |
'\renewcommand{\labelenumii}{\Alph{enumii}.}'. |
\renewcommand{\labelenumiii}{\Alph{enumiii}.} |
'\renewcommand{\labelenumiii}{\Alph{enumiii}.}'. |
\renewcommand{\labelenumiv}{\Alph{enumiv}.}'; |
'\renewcommand{\labelenumiv}{\Alph{enumiv}.}'; |
} elsif ($type eq 'a') { |
} elsif ($type eq 'a') { |
$currentstring .= ' \renewcommand{\labelenumi}{\alph{enumi}.} |
$currentstring .= '\renewcommand{\labelenumi}{\alph{enumi}.}'. |
\renewcommand{\labelenumii}{\alph{enumii}.} |
'\renewcommand{\labelenumii}{\alph{enumii}.}'. |
\renewcommand{\labelenumiii}{\alph{enumiii}.} |
'\renewcommand{\labelenumiii}{\alph{enumiii}.}'. |
\renewcommand{\labelenumiv}{\alph{enumiv}.} '; |
'\renewcommand{\labelenumiv}{\alph{enumiv}.}'; |
} elsif ($type eq 'i') { |
} elsif ($type eq 'i') { |
$currentstring .= ' \renewcommand{\labelenumi}{\roman{enumi}.} |
$currentstring .= '\renewcommand{\labelenumi}{\roman{enumi}.}'. |
\renewcommand{\labelenumii}{\roman{enumii}.} |
'\renewcommand{\labelenumii}{\roman{enumii}.}'. |
\renewcommand{\labelenumiii}{\roman{enumiii}.} |
'\renewcommand{\labelenumiii}{\roman{enumiii}.}'. |
\renewcommand{\labelenumiv}{\roman{enumiv}.} '; |
'\renewcommand{\labelenumiv}{\roman{enumiv}.}'; |
} elsif ($type eq 'I') { |
} elsif ($type eq 'I') { |
$currentstring .= ' \renewcommand{\labelenumi}{\Roman{enumi}.} |
$currentstring .= '\renewcommand{\labelenumi}{\Roman{enumi}.}'. |
\renewcommand{\labelenumii}{\Roman{enumii}.} |
'\renewcommand{\labelenumii}{\Roman{enumii}.}'. |
\renewcommand{\labelenumiii}{\Roman{enumiii}.} |
'\renewcommand{\labelenumiii}{\Roman{enumiii}.}'. |
\renewcommand{\labelenumiv}{\Roman{enumiv}.} '; |
'\renewcommand{\labelenumiv}{\Roman{enumiv}.}'; |
} |
} |
$currentstring .= '\begin{enumerate}'; |
$currentstring .= '\strut \begin{enumerate}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1648 sub end_ol {
|
Line 1657 sub end_ol {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '\end{enumerate} \renewcommand{\labelenumi}{\arabic{enumi}.} |
$currentstring = '\end{enumerate}\renewcommand{\labelenumi}{\arabic{enumi}.}'. |
\renewcommand{\labelenumii}{\arabic{enumii}.} |
'\renewcommand{\labelenumii}{\arabic{enumii}.}'. |
\renewcommand{\labelenumiii}{\arabic{enumiii}.} |
'\renewcommand{\labelenumiii}{\arabic{enumiii}.}'. |
\renewcommand{\labelenumiv}{\arabic{enumiv}.}'; |
'\renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut '; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1775 sub start_table {
|
Line 1784 sub start_table {
|
my $aa = {}; |
my $aa = {}; |
push @Apache::londefdef::table, $aa; |
push @Apache::londefdef::table, $aa; |
$Apache::londefdef::table[-1]{'row_number'} = -1; |
$Apache::londefdef::table[-1]{'row_number'} = -1; |
#table's width |
#maximum table's width (default coincides with text line length) |
#default coincides with text line length |
|
if ($#Apache::londefdef::table==0) { |
if ($#Apache::londefdef::table==0) { |
$textwidth=&recalc($ENV{'form.textwidth'}); #result is always in mm |
$textwidth=&recalc($ENV{'form.textwidth'}); #result is always in mm |
$textwidth=~/(\d+\.?\d*)/; |
$textwidth=~/(\d+\.?\d*)/; |
Line 1808 sub start_table {
|
Line 1816 sub start_table {
|
$TeXwidth=~/(\d+)/; |
$TeXwidth=~/(\d+)/; |
$Apache::londefdef::table[-1]{'width'}=$1*$textwidth/100; |
$Apache::londefdef::table[-1]{'width'}=$1*$textwidth/100; |
} else { |
} else { |
|
$Apache::londefdef::table[-1]{'forcetablewidth'}=1; |
$Apache::londefdef::table[-1]{'width'}=$TeXwidth; |
$Apache::londefdef::table[-1]{'width'}=$TeXwidth; |
} |
} |
#table's border |
#table's border |
Line 1824 sub start_table {
|
Line 1833 sub start_table {
|
$Apache::londefdef::table[-1]{'vvinc'} = ''; |
$Apache::londefdef::table[-1]{'vvinc'} = ''; |
} |
} |
if ($#Apache::londefdef::table==0) { |
if ($#Apache::londefdef::table==0) { |
$Apache::londefdef::table[-1]{'output'}='\newline\setlength{\tabcolsep}{1 mm}'; |
$Apache::londefdef::table[-1]{'output'}='\strut\newline\strut\setlength{\tabcolsep}{1 mm}'; |
} |
} |
$Apache::londefdef::table[-1]{'output'}.=' \noindent \begin{tabular} '; |
$Apache::londefdef::table[-1]{'output'}.=' \noindent \begin{tabular} '; |
$Apache::londefdef::table[-1]{'TeXlen'}=[]; |
$Apache::londefdef::table[-1]{'TeXlen'}=[]; |
Line 1904 sub end_table {
|
Line 1913 sub end_table {
|
$space_neeeded=$space_neeeded+$max_len[$jn]; |
$space_neeeded=$space_neeeded+$max_len[$jn]; |
} |
} |
if ($space_neeeded<=$available_space) { |
if ($space_neeeded<=$available_space) { |
## &Apache::lonnet::logthis("I am in position 1: $space_neeeded <= $available_space"); |
|
for (my $jn=0;$jn<=$#max_len;$jn++) { |
for (my $jn=0;$jn<=$#max_len;$jn++) { |
if ($fwidth[$jn]==0) { |
if ($fwidth[$jn]==0) { |
$fwidth[$jn]=$max_len[$jn]; |
$fwidth[$jn]=$max_len[$jn]; |
Line 1917 sub end_table {
|
Line 1925 sub end_table {
|
$space_neeeded+=$min_len[$jn]; |
$space_neeeded+=$min_len[$jn]; |
} |
} |
if ($space_neeeded>$available_space) { |
if ($space_neeeded>$available_space) { |
## &Apache::lonnet::logthis("I am in position 2"); |
|
$WARNING=' \textbf{NOT ENOUGH SPACE FOR TABLE} '; |
$WARNING=' \textbf{NOT ENOUGH SPACE FOR TABLE} '; |
for (my $jn=0;$jn<=$#max_len;$jn++) { |
for (my $jn=0;$jn<=$#max_len;$jn++) { |
if ($fwidth[$jn]==0) { |
if ($fwidth[$jn]==0) { |
Line 1926 sub end_table {
|
Line 1933 sub end_table {
|
} |
} |
} else { |
} else { |
#step 3. adjustment over minimal + corrections |
#step 3. adjustment over minimal + corrections |
## &Apache::lonnet::logthis("I am in position 3"); |
|
my $enlarge_coef=$available_space/$space_neeeded; |
my $enlarge_coef=$available_space/$space_neeeded; |
my $acsessive=0; |
my $acsessive=0; |
for (my $jn=0;$jn<=$#min_len;$jn++) { |
for (my $jn=0;$jn<=$#min_len;$jn++) { |
Line 1952 sub end_table {
|
Line 1958 sub end_table {
|
$fwidth[$jn]=$adjust[$jn]; |
$fwidth[$jn]=$adjust[$jn]; |
} |
} |
} |
} |
|
} else { |
|
for (my $jn=0;$jn<=$#min_len;$jn++) { |
|
$fwidth[$jn]=$adjust[$jn]; |
|
} |
} |
} |
} |
} |
} |
} |
#recalculation for the use of all available width if width is defined in % |
#use all available width if it is defined in % or as TeXwidth |
if ($Apache::londefdef::table[-1]{'percent'}==1) { |
if (($Apache::londefdef::table[-1]{'percent'}==1) || ($Apache::londefdef::table[-1]{'forcetablewidth'}==1)) { |
my $current=0; |
my $current=0; |
for (my $i=0;$i<=$#fwidth;$i++) { |
for (my $i=0;$i<=$#fwidth;$i++) { |
$current+=$fwidth[$i]; |
$current+=$fwidth[$i]; |
Line 2009 sub end_table {
|
Line 2019 sub end_table {
|
} |
} |
$output.=' \\\\ '.$Apache::londefdef::table[-1]{'hinc'}.' '; |
$output.=' \\\\ '.$Apache::londefdef::table[-1]{'hinc'}.' '; |
} |
} |
$Apache::londefdef::table[-1]{'output'} .= $header_of_table.$Apache::londefdef::table[-1]{'hinc'}.$output.'\end{tabular}\vskip 0 mm '; |
$Apache::londefdef::table[-1]{'output'} .= $header_of_table.$Apache::londefdef::table[-1]{'hinc'}.$output.'\end{tabular}\strut\newline\strut '; |
if ($#Apache::londefdef::table > 0) { |
if ($#Apache::londefdef::table > 0) { |
my $inmemory = $Apache::londefdef::table[-1]{'output'}; |
my $inmemory = $Apache::londefdef::table[-1]{'output'}; |
pop @Apache::londefdef::table; |
pop @Apache::londefdef::table; |
Line 2251 sub start_img {
|
Line 2261 sub start_img {
|
undef,1); |
undef,1); |
if (not $src and ($target eq 'web' or $target eq 'tex')) { |
if (not $src and ($target eq 'web' or $target eq 'tex')) { |
my $inside = &Apache::lonxml::get_all_text("/img",$parser); |
my $inside = &Apache::lonxml::get_all_text("/img",$parser); |
&Apache::lonnet::logthis("inside was $inside"); |
|
return ''; |
return ''; |
} |
} |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src; |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src; |
Line 2271 sub start_img {
|
Line 2280 sub start_img {
|
} |
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
|
#if uploaded restore the path |
|
if ($src=~/^\/uploaded\/([^\/]+)\/([^\/]+)\/simplepage\/([^\/]+)$/) { |
|
$src=&Apache::loncommon::propath($1,$2).'/userfiles/simplepage/'.$3; |
|
} elsif ($src=~/^\/uploaded\/([^\/]+)\/([^\/]+)\/aboutme\/([^\/]+)$/) { |
|
$src=&Apache::loncommon::propath($1,$2).'/userfiles/aboutme/'.$3; |
|
} |
#if original gif/jpg/png file exist do following: |
#if original gif/jpg/png file exist do following: |
if (-e $src) { |
if (-e $src) { |
#what is the image size? |
#what is the image size? |
Line 3540 sub eps_generation {
|
Line 3555 sub eps_generation {
|
$newsrc=~s/\/home\/([^\/]*)\/public_html\//\/$1\//; |
$newsrc=~s/\/home\/([^\/]*)\/public_html\//\/$1\//; |
$newsrc=~s/\/\.\//\//; |
$newsrc=~s/\/\.\//\//; |
$newsrc=~s/\/([^\/]+)\.(ps|eps)/\//; |
$newsrc=~s/\/([^\/]+)\.(ps|eps)/\//; |
|
if ($newsrc=~/\/home\/httpd\/lonUsers\//) { |
|
$newsrc=~s/\/home\/httpd\/lonUsers//; |
|
$newsrc=~s/\/([^\/]+)\/(\w)\/(\w)\/(\w)\//\/$1\//; |
|
} |
return ' \graphicspath{{/home/httpd/prtspool'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; |
return ' \graphicspath{{/home/httpd/prtspool'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; |
} |
} |
|
|
Line 3592 sub LATEX_length {
|
Line 3611 sub LATEX_length {
|
$garbage=~s|\\(\w+)\\|\\|g; |
$garbage=~s|\\(\w+)\\|\\|g; |
$garbage=~s|\\(\w+)(\s*)|$2|g; |
$garbage=~s|\\(\w+)(\s*)|$2|g; |
$garbage=~s|\+|11|g; |
$garbage=~s|\+|11|g; |
|
|
&Apache::lonnet::logthis("garbage was just $garbage"); |
|
my $value=length($garbage); |
my $value=length($garbage); |
return $value; |
return $value; |
} |
} |