Initial Commit

This commit is contained in:
Riley Schneider
2025-12-03 16:38:10 +01:00
parent c5e26bf594
commit b732d8d4b5
17680 changed files with 5977495 additions and 2 deletions

View File

@@ -0,0 +1,33 @@
<?php
/**
*
* This class renders an anchor target name in LaTeX.
*
* $Id: Anchor.php 169211 2004-09-25 19:05:14Z pmjones $
*
* @author Jeremy Cowgar <jeremy@cowgar.com>
*
* @package Text_Wiki
*
*/
class Text_Wiki_Render_Latex_Anchor extends Text_Wiki_Render {
function token($options)
{
extract($options); // $type, $name
if ($type == 'start') {
//return sprintf('<a id="%s">',$name);
return '';
}
if ($type == 'end') {
//return '</a>';
return '';
}
}
}
?>

View File

@@ -0,0 +1,36 @@
<?php
class Text_Wiki_Render_Latex_Blockquote extends Text_Wiki_Render {
var $conf = array('css' => 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)
{
$type = $options['type'];
$level = $options['level'];
// starting
if ($type == 'start') {
return "\\begin{quote}\n";
}
// ending
if ($type == 'end') {
return "\\end{quote}\n\n";
}
}
}
?>

View File

@@ -0,0 +1,28 @@
<?php
class Text_Wiki_Render_Latex_Bold extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\textbf{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,54 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Box rule end renderer for Latex
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Box.php 193489 2005-08-15 09:50:57Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* This class renders a box drawn in Latex.
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
*/
class Text_Wiki_Render_Latex_Box extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\framebox[\textwidth]{';
}
if ($options['type'] == 'end') {
return "}\n";
}
}
}
?>

View File

@@ -0,0 +1,24 @@
<?php
class Text_Wiki_Render_Latex_Break extends Text_Wiki_Render {
/**
*
* 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)
{
return "\\newline\n";
}
}
?>

View File

@@ -0,0 +1,33 @@
<?php
class Text_Wiki_Render_Latex_Center extends Text_Wiki_Render {
/**
*
* 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)
{
return 'Center: NI';
if ($options['type'] == 'start') {
//return "\n<center>\n";
return '<div style="text-align: center;">';
}
if ($options['type'] == 'end') {
//return "</center>\n";
return '</div>';
}
}
}
?>

View File

@@ -0,0 +1,26 @@
<?php
class Text_Wiki_Render_Latex_Code extends Text_Wiki_Render {
/**
*
* 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)
{
$text = $options['text'];
return "\\begin{verbatim}\n$text\n\\end{verbatim}\n\n";
}
}
?>

View File

@@ -0,0 +1,58 @@
<?php
class Text_Wiki_Render_Latex_Colortext extends Text_Wiki_Render {
var $colors = array(
'aqua',
'black',
'blue',
'fuchsia',
'gray',
'green',
'lime',
'maroon',
'navy',
'olive',
'purple',
'red',
'silver',
'teal',
'white',
'yellow'
);
/**
*
* 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)
{
return 'Colortext: NI';
$type = $options['type'];
$color = $options['color'];
if (! in_array($color, $this->colors)) {
$color = '#' . $color;
}
if ($type == 'start') {
return "<span style=\"color: $color;\">";
}
if ($options['type'] == 'end') {
return '</span>';
}
}
}
?>

View File

@@ -0,0 +1,53 @@
<?php
class Text_Wiki_Render_Latex_Deflist extends Text_Wiki_Render {
var $conf = array(
'css_dl' => null,
'css_dt' => null,
'css_dd' => 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)
{
$type = $options['type'];
switch ($type)
{
case 'list_start':
return "\\begin{description}\n";
case 'list_end':
return "\\end{description}\n\n";
case 'term_start':
return '\item[';
case 'term_end':
return '] ';
case 'narr_start':
return '{';
case 'narr_end':
return "}\n";
default:
return '';
}
}
}
?>

View File

@@ -0,0 +1,25 @@
<?php
class Text_Wiki_Render_Latex_Delimiter extends Text_Wiki_Render {
/**
*
* 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)
{
// TODO: Is this where I can do some LaTeX escaping for items
// such as $ { } _ ?
return "Delimiter: ".$options['text'];
}
}
?>

View File

@@ -0,0 +1,23 @@
<?php
class Text_Wiki_Render_Latex_Embed extends Text_Wiki_Render {
/**
*
* 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)
{
return "Embed: ".$options['text'];
}
}
?>

View File

@@ -0,0 +1,29 @@
<?php
class Text_Wiki_Render_Latex_Emphasis extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\textsl{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,73 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* BBCode: extra Font rules renderer to size the text
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Font.php 209123 2006-03-11 11:14:23Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* Font rule render class (used for BBCode)
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
* @see Text_Wiki::Text_Wiki_Render()
*/
class Text_Wiki_Render_Latex_Font extends Text_Wiki_Render {
/**
* A table to translate the sizes
*
* @access public
* @var array
*/
var $sizes = array(
'tiny' => 5,
'scriptsize' => 7,
'footnotesize' => 8,
'small' => 9,
'normalsize' => 11,
'large' => 13,
'Large' => 16,
'LARGE' => 19,
'huge' => 22,
'Huge' => 9999);
/**
* Renders a token into text matching the requested format.
* process the font size option
*
* @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)
{
if ($options['type'] == 'start') {
foreach ($this->sizes as $key => $lim) {
if ($options['size'] < $lim) {
break;
}
}
return '\{' . $key . '}{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,6 @@
<?php
class Text_Wiki_Render_Latex_Freelink extends Text_Wiki_Render_Latex_Wikilink {
// renders identically to wikilinks, only the parsing is different :-)
}
?>

View File

@@ -0,0 +1,23 @@
<?php
class Text_Wiki_Render_Latex_Function extends Text_Wiki_Render {
/**
*
* 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)
{
return "Function: NI";
}
}
?>

View File

@@ -0,0 +1,33 @@
<?php
class Text_Wiki_Render_Latex_Heading extends Text_Wiki_Render {
function token($options)
{
// get nice variable names (type, level)
extract($options);
if ($type == 'start') {
switch ($level)
{
case '1':
return '\part{';
case '2':
return '\section{';
case '3':
return '\subsection{';
case '4':
return '\subsubsection{';
case '5':
return '\paragraph{';
case '6':
return '\subparagraph{';
}
}
if ($type == 'end') {
return "}\n";
}
}
}
?>

View File

@@ -0,0 +1,23 @@
<?php
class Text_Wiki_Render_Latex_Horiz extends Text_Wiki_Render {
/**
*
* 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)
{
return "\n\\noindent\\rule{\\textwidth}{1pt}\n";
}
}
?>

View File

@@ -0,0 +1,25 @@
<?php
class Text_Wiki_Render_Latex_Html extends Text_Wiki_Render {
/**
*
* 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)
{
print_r($this);
return '';
}
}
?>

View File

@@ -0,0 +1,70 @@
<?php
class Text_Wiki_Render_Latex_Image extends Text_Wiki_Render {
var $conf = array(
'base' => '/'
);
/**
*
* 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)
{
return 'Image: NI';
$src = '"' .
$this->getConf('base', '/') .
$options['src'] . '"';
if (isset($options['attr']['link'])) {
// this image has a link
if (strpos($options['attr']['link'], '://')) {
// it's a URL
$href = $options['attr']['link'];
} else {
$href = $this->wiki->getRenderConf('xhtml', 'wikilink', 'view_url') .
$options['attr']['link'];
}
} else {
// image is not linked
$href = null;
}
// unset these so they don't show up as attributes
unset($options['attr']['link']);
$attr = '';
$alt = false;
foreach ($options['attr'] as $key => $val) {
if (strtolower($key) == 'alt') {
$alt = true;
}
$attr .= " $key=\"$val\"";
}
// always add an "alt" attribute per Stephane Solliec
if (! $alt) {
$attr .= ' alt="' . basename($options['src']) . '"';
}
if ($href) {
return "<a href=\"$href\"><img src=$src$attr/></a>";
} else {
return "<img src=$src$attr/>";
}
}
}
?>

View File

@@ -0,0 +1,8 @@
<?php
class Text_Wiki_Render_Latex_Include extends Text_Wiki_Render {
function token()
{
return '';
}
}
?>

View File

@@ -0,0 +1,58 @@
<?php
class Text_Wiki_Render_Latex_Interwiki extends Text_Wiki_Render {
var $conf = array(
'sites' => array(
'MeatBall' => 'http://www.usemod.com/cgi-bin/mb.pl?%s',
'Advogato' => 'http://advogato.org/%s',
'Wiki' => 'http://c2.com/cgi/wiki?%s'
)
);
/**
*
* 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)
{
$text = $options['text'];
if (isset($options['url'])) {
// calculated by the parser (e.g. Mediawiki)
$href = $options['url'];
} else {
$site = $options['site'];
// toggg 2006/02/05 page name must be url encoded (e.g. may contain spaces)
$page = $this->urlEncode($options['page']);
if (isset($this->conf['sites'][$site])) {
$href = $this->conf['sites'][$site];
} else {
return $text;
}
// old form where page is at end,
// or new form with %s placeholder for sprintf()?
if (strpos($href, '%s') === false) {
// use the old form
$href = $href . $page;
} else {
// use the new form
$href = sprintf($href, $page);
}
}
return $text . '\footnote{' . $href . '}';
}
}
?>

View File

@@ -0,0 +1,28 @@
<?php
class Text_Wiki_Render_Latex_Italic extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\textit{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,76 @@
<?php
class Text_Wiki_Render_Latex_List extends Text_Wiki_Render {
/**
*
* Renders a token into text matching the requested format.
*
* This rendering method is syntactically and semantically compliant
* with XHTML 1.1 in that sub-lists are part of the previous list item.
*
* @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 variables (type, level, count)
extract($options);
switch ($type)
{
case 'bullet_list_start':
return "\\begin{itemize}\n";
case 'bullet_list_end':
return "\\end{itemize}\n";
case 'number_list_start':
$depth = 'enumi' . str_pad('', $level, 'i');
$enum = '\arabic';
if (isset($format)) {
switch ($format) {
case 'a':
$enum = '\alph';
break;
case 'A':
$enum = '\Alph';
break;
case 'i':
$enum = '\roman';
break;
case 'I':
$enum = '\Roman';
break;
}
}
return '\renewcommand{\labelenumi}{' . $enum . '{' . $depth .
"}}\n\\begin{enumerate}\n";
case 'number_list_end':
return "\\end{enumerate}\n";
case 'bullet_item_start':
case 'number_item_start':
return '\item{';
case 'bullet_item_end':
case 'number_item_end':
return "}\n";
default:
// ignore item endings and all other types.
// item endings are taken care of by the other types
// depending on their place in the list.
return '';
break;
}
}
}
?>

View File

@@ -0,0 +1,12 @@
<?php
class Text_Wiki_Render_Latex_Newline extends Text_Wiki_Render {
function token($options)
{
return "\\newline\n";
}
}
?>

View File

@@ -0,0 +1,48 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Page rule end renderer for Latex
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Page.php 193514 2005-08-15 15:27:19Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* This class renders page markers in Latex.
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
*/
class Text_Wiki_Render_Latex_Page extends Text_Wiki_Render {
/**
*
* 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)
{
return "\\newpage\n";
}
}
?>

View File

@@ -0,0 +1,31 @@
<?php
class Text_Wiki_Render_Latex_Paragraph extends Text_Wiki_Render {
/**
*
* 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)
{
extract($options); //type
if ($type == 'start') {
return '';
}
if ($type == 'end') {
return "\n\n";
}
}
}
?>

View File

@@ -0,0 +1,34 @@
<?php
class Text_Wiki_Render_Latex_Phplookup extends Text_Wiki_Render {
var $conf = array('target' => '_blank');
/**
*
* 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)
{
return 'Phplookup: NI';
$text = trim($options['text']);
$target = $this->getConf('target', '');
if ($target) {
$target = " target=\"$target\"";
}
return "<a$target href=\"http://php.net/$text\">$text</a>";
}
}
?>

View File

@@ -0,0 +1,49 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Plugin rule end renderer for Latex
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Plugin.php 193730 2005-08-17 09:16:36Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* This class renders wiki plugins in Latex. (empty)
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
*/
class Text_Wiki_Render_Latex_Plugin extends Text_Wiki_Render {
/**
*
* Renders a token into text matching the requested format.
* Plugins produce wiki markup so are processed by parsing, no tokens produced
*
* @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)
{
return '';
}
}
?>

View File

@@ -0,0 +1,56 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* This class implements a Text_Wiki_Render_Xhtml to "pre-filter" source text so
* that line endings are consistently \n, lines ending in a backslash \
* are concatenated with the next line, and tabs are converted to spaces.
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Jeremy Cowgar <jeremy@cowgar.com>
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Prefilter.php 248435 2007-12-17 16:19:44Z justinpatrin $
* @link http://pear.php.net/package/Text_Wiki
*/
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: |
// +----------------------------------------------------------------------+
//
// $Id: Prefilter.php 248435 2007-12-17 16:19:44Z justinpatrin $
/**
*
* This class implements a Text_Wiki_Render_Latex to "pre-filter" source text so
* that line endings are consistently \n, lines ending in a backslash \
* are concatenated with the next line, and tabs are converted to spaces.
*
* @author Jeremy Cowgar <jeremy@cowgar.com>
*
* @package Text_Wiki
*
*/
class Text_Wiki_Render_Latex_Prefilter extends Text_Wiki_Render {
function token()
{
return '';
}
}
?>

View File

@@ -0,0 +1,48 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Preformatted rule end renderer for Latex
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Preformatted.php 193477 2005-08-15 06:15:41Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* This class renders preformated text in Latex.
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
*/
class Text_Wiki_Render_Latex_Preformatted extends Text_Wiki_Render {
/**
*
* 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)
{
return "\\begin{verbatim}\n" . $options['text'] . "\n\\end{verbatim}\n";
}
}
?>

View File

@@ -0,0 +1,23 @@
<?php
class Text_Wiki_Render_Latex_Raw extends Text_Wiki_Render {
/**
*
* 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)
{
return "Raw: ".$options['text'];
}
}
?>

View File

@@ -0,0 +1,38 @@
<?php
class Text_Wiki_Render_Latex_Revise extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'del_start') {
return '\sout{';
}
if ($options['type'] == 'del_end') {
return '}';
}
if ($options['type'] == 'ins_start') {
return '\underline{';
}
if ($options['type'] == 'ins_end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,44 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Smiley rule Latex renderer
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Smiley.php 192951 2005-08-10 11:42:08Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* Smiley rule Latex render class
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
* @see Text_Wiki::Text_Wiki_Render()
*/
class Text_Wiki_Render_Latex_Smiley extends Text_Wiki_Render {
/**
* Renders a token into text matching the requested format.
* process the Smileys
*
* @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)
{
return $options['symbol'];
}
}
?>

View File

@@ -0,0 +1,54 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Specialchar rule end renderer for Latex
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Specialchar.php 193499 2005-08-15 11:10:38Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* This class renders special characters in Latex.
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
*/
class Text_Wiki_Render_Latex_SpecialChar extends Text_Wiki_Render {
var $types = array('~bs~' => '\\\\',
'~hs~' => '\hspace{1em}',
'~amp~' => '\&',
'~ldq~' => '``',
'~rdq~' => "''",
'~lsq~' => '`',
'~rsq~' => "'",
'~c~' => '\copyright',
'~--~' => '---',
'" -- "' => '---',
'&quot; -- &quot;' => '---',
'~lt~' => '<',
'~gt~' => '>');
function token($options)
{
if (isset($this->types[$options['char']])) {
return $this->types[$options['char']];
} else {
return $options['char'];
}
}
}
?>

View File

@@ -0,0 +1,30 @@
<?php
class Text_Wiki_Render_Latex_Strong extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\textbf{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,54 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Subscript rule end renderer for Latex
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Subscript.php 193490 2005-08-15 10:09:06Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* This class renders subscript text in Latex.
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
*/
class Text_Wiki_Render_Latex_Subscript extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '_{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,31 @@
<?php
class Text_Wiki_Render_Latex_Superscript extends Text_Wiki_Render {
/**
*
* 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)
{
return 'Superscript: NI';
if ($options['type'] == 'start') {
return '<sup>';
}
if ($options['type'] == 'end') {
return '</sup>';
}
}
}
?>

View File

@@ -0,0 +1,99 @@
<?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 '';
}
}
}
?>

View File

@@ -0,0 +1,9 @@
<?php
class Text_Wiki_Render_Latex_Tighten extends Text_Wiki_Render {
function token()
{
return '';
}
}
?>

View File

@@ -0,0 +1,54 @@
<?php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
/**
* Titlebar rule end renderer for Latex
*
* PHP versions 4 and 5
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: Titlebar.php 193500 2005-08-15 11:36:55Z toggg $
* @link http://pear.php.net/package/Text_Wiki
*/
/**
* This class renders a title bar in Latex.
*
* @category Text
* @package Text_Wiki
* @author Bertrand Gugger <bertrand@toggg.com>
* @copyright 2005 bertrand Gugger
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version Release: @package_version@
* @link http://pear.php.net/package/Text_Wiki
*/
class Text_Wiki_Render_Latex_Titlebar extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\framebox[\textwidth]{\textbf{';
}
if ($options['type'] == 'end') {
return "}}\n";
}
}
}
?>

View File

@@ -0,0 +1,30 @@
<?php
class Text_Wiki_Render_Latex_Toc extends Text_Wiki_Render {
/**
*
* 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)
{
if($options['type'] == 'list_start') {
return "\\tableofcontents\n\n";
}
return '';
}
}
?>

View File

@@ -0,0 +1,30 @@
<?php
class Text_Wiki_Render_Latex_tt extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\texttt{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,30 @@
<?php
class Text_Wiki_Render_Latex_Underline extends Text_Wiki_Render {
/**
*
* 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)
{
if ($options['type'] == 'start') {
return '\underline{';
}
if ($options['type'] == 'end') {
return '}';
}
}
}
?>

View File

@@ -0,0 +1,41 @@
<?php
class Text_Wiki_Render_Latex_Url extends Text_Wiki_Render {
var $conf = array(
'target' => false,
'images' => true,
'img_ext' => array('jpg', 'jpeg', 'gif', 'png')
);
/**
*
* 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)
{
// create local variables from the options array (text,
// href, type)
extract($options);
if ($options['type'] == 'start') {
return '';
} else if ($options['type'] == 'end') {
return '\footnote{' . $href . '}';
} else {
return $text . '\footnote{' . $href . '}';
}
}
}
?>

View File

@@ -0,0 +1,60 @@
<?php
class Text_Wiki_Render_Latex_Wikilink extends Text_Wiki_Render {
var $conf = array(
'pages' => array(),
'view_url' => 'http://example.com/index.php?page=%s',
'new_url' => 'http://example.com/new.php?page=%s',
'new_text' => '?'
);
/**
*
* Renders a token into XHTML.
*
* @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 (page, anchor, text)
extract($options);
// are we checking page existence?
$list = $this->getConf('pages');
if (is_array($list)) {
// yes, check against the page list
$exists = in_array($page, $list);
} else {
// no, assume it exists
$exists = true;
}
// convert *after* checking against page names so as not to mess
// up what the user typed and what we're checking.
$page = $this->textEncode($page);
$anchor = $this->textEncode($anchor);
$text = $this->textEncode($text);
$href = $this->getConf('view_url');
if (strpos($href, '%s') === false) {
// use the old form (page-at-end)
$href = $href . $page . $anchor;
} else {
// use the new form (sprintf format string)
$href = sprintf($href, $page . $anchor);
}
// get the CSS class and generate output
$css = $this->formatConf(' class="%s"', 'css');
return $text . '\footnote{' . $href . '}';
}
}
?>