version 1.216, 2004/05/21 21:06:59
|
version 1.224, 2004/07/12 15:52:44
|
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 1148 sub start_br {
|
Line 1154 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 1525 sub start_ul {
|
Line 1534 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 1551 sub end_ul {
|
Line 1560 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 1614 sub start_ol {
|
Line 1623 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 1650 sub end_ol {
|
Line 1659 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 1777 sub start_table {
|
Line 1786 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 1810 sub start_table {
|
Line 1818 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 1826 sub start_table {
|
Line 1835 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 1951 sub end_table {
|
Line 1960 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 2008 sub end_table {
|
Line 2021 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 2250 sub start_img {
|
Line 2263 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; |