version 1.144, 2003/06/26 15:23:06
|
version 1.153, 2003/07/14 14:29:26
|
Line 157 sub start_html {
|
Line 157 sub start_html {
|
&Apache::lonxml::fontsettings(); |
&Apache::lonxml::fontsettings(); |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
@Apache::londefdef::table = (); |
@Apache::londefdef::table = (); |
$currentstring .= '\documentclass[letterpaper]{article}'. |
$currentstring .= '\documentclass[letterpaper]{article}'; |
'\batchmode'. |
if ($ENV{'form.latex_type'}=~'batchmode') {$currentstring .='\batchmode';} |
'\newcommand{\keephidden}[1]{} |
$currentstring .= '\newcommand{\keephidden}[1]{} |
\renewcommand{\deg}{$^{\circ}$} |
\renewcommand{\deg}{$^{\circ}$} |
|
\usepackage{longtable} |
\usepackage{textcomp} |
\usepackage{textcomp} |
\usepackage[dvips]{graphicx} |
\usepackage[dvips]{graphicx} |
\usepackage{epsfig}\usepackage{calc} |
\usepackage{epsfig}\usepackage{calc} |
Line 370 sub start_meta {
|
Line 371 sub start_meta {
|
} |
} |
} |
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
&Apache::lonxml::startredirection(); |
my $content=&Apache::lonxml::get_param('content',$parstack,$safeeval); |
|
my $name=&Apache::lonxml::get_param('name',$parstack,$safeeval); |
|
if ((not defined $content) && (not defined $name)) { |
|
&Apache::lonxml::startredirection(); |
|
} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1064 sub start_br {
|
Line 1069 sub start_br {
|
$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] ne 'sub' && $$tagstack[-2] ne 'sup') { |
$currentstring .= '\vskip 0.2 mm'; |
$currentstring .= '\vskip 0.2 mm '; |
} |
} |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1292 sub start_hr {
|
Line 1297 sub start_hr {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $LaTeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,0); |
my $LaTeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
if (defined $LaTeXwidth) { |
if (defined $LaTeXwidth) { |
if ($LaTeXwidth=~/^%/) { |
if ($LaTeXwidth=~/^%/) { |
substr($LaTeXwidth,0,1)=''; |
substr($LaTeXwidth,0,1)=''; |
$LaTeXwidth=($LaTeXwidth/100).'\textwidth'; |
$LaTeXwidth=($LaTeXwidth/100).'\textwidth'; |
} |
} |
} else { |
} else { |
$LaTeXwidth ='0.95\textwidth'; |
$LaTeXwidth ='0.9\textwidth'; |
} |
} |
my ($pre,$post); |
my ($pre,$post); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
Line 1310 sub start_hr {
|
Line 1315 sub start_hr {
|
} elsif ($align eq 'right') { |
} elsif ($align eq 'right') { |
$pre=' \hfill \llap{'; $post='}'; |
$pre=' \hfill \llap{'; $post='}'; |
} |
} |
$currentstring .= ' \vskip 0 mm \noindent\makebox[\textwidth]{'.$pre.'\makebox['. |
$currentstring .= ' \vskip 0 mm \noindent\makebox['.$LaTeXwidth.']{'.$pre.'\makebox['. |
$LaTeXwidth.'][b]{\hrulefill}'.$post.'}\vskip 0 mm '; |
$LaTeXwidth.'][b]{\hrulefill}'.$post.'}\vskip 0 mm '; |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1321 sub end_hr {
|
Line 1326 sub end_hr {
|
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} |
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1347 sub end_div {
|
Line 1351 sub end_div {
|
|
|
#-- <a> tag |
#-- <a> tag |
sub start_a { |
sub start_a { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
|
my $a=&Apache::lonxml::get_param('href',$parstack,$safeeval,undef,1); |
|
$a=~s/([^\\])%/$1\\\%/g; |
|
$currentstring .= '\ref{'.$a.'}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
sub end_a { |
sub end_a { |
my ($target,$token,$tagstack,$stackref) = @_; |
my ($target,$token,$tagstack,$parstack,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
|
my $tempor_var = $stackref->[$#$stackref]; |
|
if (index($tempor_var,'name') != -1 ) { |
|
$tempor_var =~ s/name=([^,]*),/$1/g; |
|
} elsif (index($tempor_var,'href') != -1 ) { |
|
$tempor_var =~ s/href=([^,]*),/$1/g; |
|
$currentstring .= " \\ref{$tempor_var}"; |
|
} |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
#-- <li> tag |
#-- <li> tag |
sub start_li { |
sub start_li { |
my ($target,$token,$tagstack,$stackref) = @_; |
my ($target,$token,$tagstack,$parstack,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $tempor_var = $stackref->[$#$stackref]; |
my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,1); |
if (index($tempor_var,'circle') != -1 ) { |
if ($type=~/circle/) { |
$currentstring .= " \\item[o] "; |
$currentstring .= ' \item[o] '; |
} elsif (index($tempor_var,'square') != -1 ) { |
} elsif ($type=~/square/) { |
$currentstring .= " \\item[$\Box$] "; |
$currentstring .= ' \item[$\Box$] '; |
} elsif ($tempor_var ne '') { |
} elsif ($type ne '') { |
$_ = $tempor_var; |
$currentstring .= ' \item['.$type.'] '; |
m/my\s*([^=]*)=/; |
|
$currentstring .= " \\item[$1] "; |
|
} else { |
} else { |
$currentstring .= " \\item "; |
$currentstring .= ' \item '; |
} |
} |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1621 sub end_dt {
|
Line 1618 sub end_dt {
|
|
|
#-- <dd> tag |
#-- <dd> tag |
sub start_dd { |
sub start_dd { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
if ($$tagstack[-2] eq 'dl') { |
|
$currentstring = ' \item [] '; |
|
} elsif ($$tagstack[-2] eq 'dt') { |
|
$currentstring = ']'; |
|
} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1843 sub end_td {
|
Line 1846 sub end_td {
|
$current_length=~/(\d+\.?\d*)/; |
$current_length=~/(\d+\.?\d*)/; |
$Apache::londefdef::table[-1]{'TeXlength'} .= $1.','; |
$Apache::londefdef::table[-1]{'TeXlength'} .= $1.','; |
$Apache::londefdef::table[-1]{'length'} .= '0,'; |
$Apache::londefdef::table[-1]{'length'} .= '0,'; |
} else { |
} else { |
$data=~/^\s*(\S.*)/; |
$data=~s/^\s+(\S.*)/$1/; |
$data=$1; |
$data=~s/(.*\S)\s+$/$1/; |
$data=~/(.*\S)\s*$/; |
|
$data=$1; |
|
my $current_length=2*length($data); |
my $current_length=2*length($data); |
$Apache::londefdef::table[-1]{'length'} .= $current_length.','; |
$Apache::londefdef::table[-1]{'length'} .= $current_length.','; |
$Apache::londefdef::table[-1]{'TeXlength'} .= '0,'; |
$Apache::londefdef::table[-1]{'TeXlength'} .= '0,'; |