[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Wed, 04 Jan 2006 23:02:41 -0000
albertel Wed Jan 4 18:02:41 2006 EDT
Modified files:
/loncom/xml londefdef.pm
Log:
- more correctish fix to BUG#3058
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.308 loncom/xml/londefdef.pm:1.309
--- loncom/xml/londefdef.pm:1.308 Wed Jan 4 17:30:50 2006
+++ loncom/xml/londefdef.pm Wed Jan 4 18:02:40 2006
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.308 2006/01/04 22:30:50 albertel Exp $
+# $Id: londefdef.pm,v 1.309 2006/01/04 23:02:40 albertel Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -594,25 +594,34 @@
return $currentstring;
}
+# \begin{center} causes a new paragprah spacing that looks odd inside
+# of a table cell
+sub center_correction { return '\vspace*{-6 mm}'; }
#-- <center> tag (end tag required)
sub start_center {
- my ($target,$token) = @_;
+ my ($target,$token,$tagstack) = @_;
my $currentstring = &end_p(); # Close off any prior para.
if ($target eq 'web') {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
+ if (&is_inside_of($tagstack, "table")) {
+ $currentstring .= ¢er_correction();
+ }
$currentstring .= '\begin{center}';
}
return $currentstring;
}
sub end_center {
- my ($target,$token) = @_;
+ my ($target,$token,$tagstack) = @_;
my $currentstring = '';
if ($target eq 'web') {
$currentstring = $token->[2];
} elsif ($target eq 'tex') {
$currentstring = '\end{center}';
+ if (&is_inside_of($tagstack, "table")) {
+ $currentstring .= ¢er_correction();
+ }
}
return $currentstring;
}
@@ -1183,6 +1192,10 @@
if ($align eq 'center') {
$currentstring .='\begin{center}\par';
$closing_string = '\end{center}';
+ if (&is_inside_of($tagstack, "table")) {
+ $currentstring = ¢er_correction().$currentstring;
+ $closing_string .= ¢er_correction();
+ }
} elsif ($align eq 'right') {
$currentstring.='\makebox['.$env{'form.textwidth'}.']{\hfill\llap{';
$closing_string= '}}';
@@ -1524,6 +1537,10 @@
if ($align eq 'center') {
$currentstring .= '\begin{center}';
$endstring = '\end{center}';
+ if (&is_inside_of($tagstack, "table")) {
+ $currentstring = ¢er_correction().$currentstring;
+ $endstring .= ¢er_correction();
+ }
}
elsif ($align eq 'right') {
$currentstring .= '\begin{flushright}';
@@ -2211,15 +2228,13 @@
}
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- # $output.='\vspace*{-6 mm}\begin{center}';
- $output.='\begin{center}';
+ $output.=¢er_correction().'\begin{center}';
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
$output.=' \hfill \llap{'
}
$output.=$Apache::londefdef::table[-1]{'content'}[$in][$jn];
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- # $output.='\end{center}\vspace*{-6 mm}';
- $output.='\end{center}';
+ $output.='\end{center}'.¢er_correction();
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
$output.='} ';
}