@@ -1251,9 +1273,7 @@ sub start_br {
$signal = 1;
}
}
- if ($signal eq 1) {
- $currentstring .= ' \vskip 0 mm ';
- } else {
+ if ($signal != 1) {
$currentstring .= '\strut \\\\ \strut ';
}
@@ -1565,6 +1585,9 @@ sub start_div {
}
if ($target eq 'tex') {
# 4 possible alignments: left, right, center, and -missing-.
+ # If inside a table row, we must let the table logic
+ # do the alignment, however.
+ #
my $endstring = '';
@@ -1575,6 +1598,7 @@ sub start_div {
$endstring = '\end{center}';
if (&is_inside_of($tagstack, "table")) {
$currentstring = ¢er_correction().$currentstring;
+ $endstring .= ¢er_end_correction();
}
}
elsif ($align eq 'right') {
@@ -2066,6 +2090,7 @@ sub end_table {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[2];
} elsif ($target eq 'tex') {
+ my $border = &Apache::lonxml::get_param('border',$parstack,$safeeval);
my $inmemory = '';
my $output = '';
my $WARNING='';
@@ -2313,6 +2338,10 @@ sub end_table {
# Do the appropriate magic if this has a colspan
#
+ my $border_char = "";
+ if ($border) {
+ $border_char = "|";
+ }
my $spanwidth = 0;
if ($colspan > 1) {
for (my $spancol = $jn; $spancol < $jn + $colspan; $spancol++) {
@@ -2322,12 +2351,12 @@ sub end_table {
$colspan
."}";
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- $output .= '{|c|}{';
+ $output .= '{'.$border_char.'c'.$border_char.'}{';
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
- $output .= '{|r|}{';
+ $output .= '{'.$border_char.'r'.$border_char.'}{';
}
else {
- $output .= "{|p{$spanwidth mm}|}{";
+ $output .= '{'.$border_char."p{$spanwidth mm}".$border_char.'}{';
}
} else {
@@ -2343,10 +2372,10 @@ sub end_table {
if ($rowspan > 1) {
if ($colspan == 1) {
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- $output .= '\multicolumn{1}{|c|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'c'.$border_char.'}{';
$multirow_aligned = 1;
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
- $output .= '\multicolumn{1}{|r|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'r'.$border_char.'}{';
$multirow_aligned = 1;
}
}
@@ -2383,9 +2412,9 @@ sub end_table {
#
if ($colspan == 1 && $rowspan == 1) {
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- $output .= '\multicolumn{1}{|c|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'c'.$border_char.'}{';
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
- $output .= '\multicolumn{1}{|r|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'r'.$border_char.'}{';
}
}
@@ -3034,11 +3063,14 @@ sub start_img {
my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval);
my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
-
- $currentstring .= '[2]{'src'}=~/\$/) {
+ $currentstring.='Variable image source';
+ } else {
+ $currentstring .= '
[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});
@@ -4518,6 +4550,12 @@ sub align_latex_image {
my ($align, $latex_rendering, $image, $width, $height) = @_;
my $currentstring; # The 1/2 wrapped image.
my $closure; # The closure of the wrappage.
+
+ # if it's none just return it back
+ if ($latex_rendering eq 'none') {
+ return ($image,'');
+ }
+
# If there's an alignment specification we need to honor it here.
# For the horizontal alignments, we will also honor the
# value of the latex specfication. The default is parbox,