version 1.360, 2007/03/13 15:05:19
|
version 1.363, 2007/04/06 10:33:37
|
Line 1461 sub start_hr {
|
Line 1461 sub start_hr {
|
if ($target eq 'web' || $target eq 'webgrade') { |
if ($target eq 'web' || $target eq 'webgrade') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
|
|
|
# <hr /> can't be inside of <sup><sub> thank you LaTeX. |
|
# |
|
my $restart_sub = 0; |
|
my $restart_sup = 0; |
|
|
|
# Since <sub> and <sup> are simple tags it's ok to turn off/on |
|
# using the start_ stop_ functions.. those tags only care about |
|
# $target. |
|
|
|
if (&is_inside_of($tagstack, "sub")) { |
|
$restart_sub = 1; |
|
$currentstring .= &end_sub($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
|
if (&is_inside_of($tagstack, "sup")) { |
|
$restart_sup = 1; |
|
$currentstring .= &end_sup($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
|
|
my $LaTeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
my $LaTeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
if (defined $LaTeXwidth) { |
if (defined $LaTeXwidth) { |
if ($LaTeXwidth=~/^%/) { |
if ($LaTeXwidth=~/^%/) { |
Line 1481 sub start_hr {
|
Line 1502 sub start_hr {
|
} |
} |
$currentstring .= ' \vskip 0 mm \noindent\makebox['.$LaTeXwidth.']{'.$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 '; |
|
# Turn stuff back on that we can't be inside of. |
|
|
|
if ($restart_sub) { |
|
$currentstring .= &start_sub($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
|
if ($restart_sup) { |
|
$currentstring .= &start_sup($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1956 sub start_table {
|
Line 1987 sub start_table {
|
} |
} |
} else { |
} else { |
$Apache::londefdef::table[-1]{'forcedtablewidth'} = 1; |
$Apache::londefdef::table[-1]{'forcedtablewidth'} = 1; |
} |
} |
|
# This stuff looks a bit hokey.. |
|
# Percentage width is actually given as an absolute width.. |
|
# so what's the difference? |
|
# |
if ($TeXwidth=~/%/) { |
if ($TeXwidth=~/%/) { |
$Apache::londefdef::table[-1]{'percent'}=1; |
$Apache::londefdef::table[-1]{'percent'}=1; |
$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]{'forcedtablewidth'} = 1; # may or may not need this? |
$Apache::londefdef::table[-1]{'width'}=$TeXwidth; |
$Apache::londefdef::table[-1]{'width'}=$TeXwidth; |
} |
} |
# In the end, however the table width cannot be wider than $textwidth... |
# In the end, however the table width cannot be wider than $textwidth... |
Line 1969 sub start_table {
|
Line 2005 sub start_table {
|
if ($Apache::londefdef::table[-1]{'width'} > $textwidth) { |
if ($Apache::londefdef::table[-1]{'width'} > $textwidth) { |
$Apache::londefdef::table[-1]{'width'} = $textwidth; |
$Apache::londefdef::table[-1]{'width'} = $textwidth; |
} |
} |
|
|
#table's border |
#table's border |
my $border = &Apache::lonxml::get_param('border',$parstack,$safeeval); |
my $border = &Apache::lonxml::get_param('border',$parstack,$safeeval); |
my $permission=&Apache::lonxml::get_param('TeXDropEmptyColumns',$parstack,$safeeval,undef,0); |
my $permission=&Apache::lonxml::get_param('TeXDropEmptyColumns',$parstack,$safeeval,undef,0); |
Line 2110 sub end_table {
|
Line 2145 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) { |
|
|
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 2194 sub end_table {
|
Line 2230 sub end_table {
|
} |
} |
} |
} |
#use all available width if it is defined in % or as TeXwidth |
#use all available width if it is defined in % or as TeXwidth |
if (($Apache::londefdef::table[-1]{'percent'}==1) || ($Apache::londefdef::table[-1]{'forcetablewidth'}==1)) { |
if (($Apache::londefdef::table[-1]{'percent'}==1) || ($Apache::londefdef::table[-1]{'forcedtablewidth'}==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 3059 sub start_applet {
|
Line 3095 sub start_applet {
|
$currentstring='[APPLET: '.$alttag.']'; |
$currentstring='[APPLET: '.$alttag.']'; |
} |
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
|
# Turn off some stuff we can't be inside thank you LaTeX |
|
|
|
|
|
my $restart_sub = 0; |
|
my $restart_sup = 0; |
|
|
|
# Since <sub> and <sup> are simple tags it's ok to turn off/on |
|
# using the start_ stop_ functions.. those tags only care about |
|
# $target. |
|
|
|
if (&is_inside_of($tagstack, "sub")) { |
|
$restart_sub = 1; |
|
$currentstring .= &end_sub($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
|
if (&is_inside_of($tagstack, "sup")) { |
|
$restart_sup = 1; |
|
$currentstring .= &end_sup($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
|
|
|
# Now process the applet; just replace it with its alt attribute. |
|
|
my $alttag= &Apache::lonxml::get_param('alt',$parstack, |
my $alttag= &Apache::lonxml::get_param('alt',$parstack, |
$safeeval,undef,1); |
$safeeval,undef,1); |
unless ($alttag) { |
unless ($alttag) { |
Line 3069 sub start_applet {
|
Line 3128 sub start_applet {
|
} |
} |
$currentstring.='\begin{center} \fbox{Java Applet: '.$alttag. |
$currentstring.='\begin{center} \fbox{Java Applet: '.$alttag. |
'.}\end{center}'; |
'.}\end{center}'; |
|
|
|
# Turn stuff back on that we can't be inside of. |
|
|
|
if ($restart_sub) { |
|
$currentstring .= &start_sub($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
|
if ($restart_sup) { |
|
$currentstring .= &start_sup($target, $token, $tagstack, |
|
$parstack, $parser, $safeeval); |
|
} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |