Viewing file: Table.php (2.41 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class Text_Wiki_Render_Latex_Table extends Text_Wiki_Render { var $cell_id = 0; var $cell_count = 0; var $is_spanning = false;
var $conf = array( 'css_table' => null, 'css_tr' => null, 'css_th' => null, 'css_td' => null );
/** * * Renders a token into text matching the requested format. * * @access public * * @param array $options The "options" portion of the token (second * element). * * @return string The text rendered from the token options. * */
function token($options) { // make nice variable names (type, attr, span) extract($options);
switch ($type) { case 'table_start': $this->cell_count = $cols;
$tbl_start = '\begin{tabular}{|'; for ($a=0; $a < $this->cell_count; $a++) { $tbl_start .= 'l|'; } $tbl_start .= "}\n";
return $tbl_start;
case 'table_end': return "\\hline\n\\end{tabular}\n";
case 'caption_start': return "\\caption{";
case 'caption_end': return "}\n";
case 'row_start': $this->is_spanning = false; $this->cell_id = 0; return "\\hline\n";
case 'row_end': return "\\\\\n";
case 'cell_start': if ($span > 1) { $col_spec = ''; if ($this->cell_id == 0) { $col_spec = '|'; } $col_spec .= 'l|';
$this->cell_id += $span; $this->is_spanning = true;
return '\multicolumn{' . $span . '}{' . $col_spec . '}{'; }
$this->cell_id += 1; return '';
case 'cell_end': $out = ''; if ($this->is_spanning) { $this->is_spanning = false; $out = '}'; }
if ($this->cell_id != $this->cell_count) { $out .= ' & '; }
return $out;
default: return '';
} } } ?>
|