Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/php/pear/Text/Wiki/Render/Latex/ |
<?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 ''; } } } ?>