summaryrefslogtreecommitdiff
path: root/includes/pear/Text/Wiki/Render/Latex/List.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pear/Text/Wiki/Render/Latex/List.php')
-rw-r--r--includes/pear/Text/Wiki/Render/Latex/List.php76
1 files changed, 76 insertions, 0 deletions
diff --git a/includes/pear/Text/Wiki/Render/Latex/List.php b/includes/pear/Text/Wiki/Render/Latex/List.php
new file mode 100644
index 0000000..ff76aed
--- /dev/null
+++ b/includes/pear/Text/Wiki/Render/Latex/List.php
@@ -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;
+ }
+ }
+}
+?>