Home
User and Developer manual for Parempi
Contents
1. bibliography references or otherwise no file aux with references will be generated using LaTeX and no references using PlasTeX in addition one has to have references bib in this case in the same directory with the file tex with proper LaTeX bib file format note that the page numbers of the pictures appearing in pdf are taken from the same file aux generated by LaTeX first type latex file tex lYou can also render the documentation to a format you want using either Parempi renderer or PlasTeX renderers You can find the documentation from the directory plastex Doc e second type bibtex file e third type plastex file tex Changing config file e in this case just go to your home directory and find plasTeXrc or ParempiMathrc and edit the file e The file has an INI format although it is not named as ini file You can see more about the INI format for example from wikipedia see http en wikipedia org wiki INI_file e below is a one example of how to do changes to the INI files Changing emphasize format in plasTeXrc e first look for plasTeXrc in your home directory and open the file using some text editor e next change the text on the line starting with emphasizeFormat after mark for example as em s e what you get out after this change is em text for emph text e remember to save your changes to the file before next time using PlasTeX in order to see the changes Using input specific configura
2. function is used above the recursion is not beign continued This is derived from the fact that the unicode function is given as an argument only text In that case it just transforms the text into unicode format which is required from all output that is returned by the renderer This requirement is also the reason why the type transformation is also done for both underlinet and in the code by using u operator in front of the text On the other hand if one wanted to continue the recursion then the solution could for example be the following def do_underlinet self node return u underlinet unicode node u These two basic examples should give the reader some intuition for handling new commands Another good idea is probably to have a look at the different commands already implemented in Parempi renderer or other renderers 3 2 Recursion unicode node and default node 3 2 1 unicode node unicode is a function in the base class of all plasTeX renderers including parempi Assuming the document is a tree of nodes representing document elements at some point of processing unicode is simply put a function to continue processing for all remaining nodes in the same branch Among others the function checks whether the node needs processing anymore and if the node has children to process So unicode can be called at any point of the node tree without having to worry about what the node contains or what the cu
3. plasTeXrc file were parempi wrapText True lineWidth 76 mathIndent 3 symbolProfile mymath ignore mbox pagebreak clearpage nopagebreak and our ParempiMathrc file were mymath alpha A beta B gamma C then our test ini file could be like this choise2 gamma G geq gt mymath alpha bad parempi mathIndent 1 quoteIndent 1 ignore fakecommand mbox nbox symbolProfile choise2 That would make our effective PlasTeX and Parempi configuration have a similar effect as the combined effects of the following plasTeXrc file parempi wrapText True lineWidth 76 mathIndent 1 quoteIndent 1 symbolProfile choise2 ignore mbox pagebreak clearpage nopagebreak fakecommand nbox and the following ParempiMathrc file choise2 alpha A beta B gamma G geq gt However our real configuration files would remain unchanged in the process 2 5 User configuration This section of the user manual covers the user configuration options of the Parempi renderer in the main PlasTeX configuration file plasTeXrc All of the covered options exist under the section parempi in the ini file All of the covered options are also optional Their default values are listed here wrapText True True wraps long lines to multiple lines False keeps them as one liners lineWidth 76 The maximum allowed width of a line in amount
4. features are also listed below in different usecase examples as a normal user or developer probably will have to use them 2 3 2 4 Parts of Parempi renderer Init__ py plasTeXrc ParempiMathre Usecase examples Creating a txt file from a tex file in this scenario one uses only PlasTeX and its classes simply type plastex file tex in this case it is important that your config file is the default provided with Parempi otherwise you might not use Parempi renderer as your default renderer if Parempi renderer is not your default renderer then you can use it by typing plastex renderer Parempi file tex provided that it has been installed under PlasTeX properly after running Parempi renderer you should find the output in the same directory named as file txt if you are using default configuration provided Adding table of contents in this scenario one uses both LaTeX and plasTeX Note that in the beginning of the tex file one has to include a row which says tableofcontents Otherwise no file toc will be generated using LaTeX and no table of contents will be generated by using PlasTeX PlasTeX uses LaTeX generated toc files to generate a similar table of contents as LaTeX created first type latex file tex second type plastex file tex Adding references in this scenario one uses both LaTeX and plasTeX note that in the end of the tex file one has to include a row which says
5. is Using debugger 2See plasTeX Renderers init_ py 3See the configuration file plasTeXrc 10 e type plastex renderer debugger file tex e open output for example by typing emacs file note that there is no file extension 11
6. of characters n itemMark A string Appears before an item in itemize Also sets the indentation length if item content is wrapped enumMark s A string Appears before an item in enumerate s is replaced with item count Also sets the indentation length if item content is wrapped emphasizeFormat em s A string s is replaced with the emphasized content boldfaceFormat bf s A string s is replaced with the boldfaced content quotePre begin quote A string Line that appears before quote or quotation quotePost end quote A string Line that appears after quote or quotation quotelndent 3 Amount of whitespace characters before each line of quoted content refFormat ref s A string Appears where something in the document has been referenced s is replaced with an unique number for each reference target label labelFormat label s A string Appears where there is a label in the document pagerefFormat pageref s A string Appears where some page of the document has been referenced s is replaced with an unique number for each reference target label cellspacingHorizontal 1 The amount of empty spaces between cells or vertical lines in a table spacing celll spacing cell2 spacing etc dollarsInText False True surrounds math environment inside text with dollars False will let math content inside text without such precaution symbolProfile hlub A str
7. or three marks are needed Now we can conlude that we will name our underlying function as do_underlinet What we have now is the following piece of code def do_underlinet self node In the parameters self is derived from Python notation and node from the fact that the render ing process means going through the document tree where each of the nodes correspond to a certain command as defined by PlasTeX parser As in this case the command has been underlinet function do_underline self node has been called Thus the marks and the do beginning ensure that the Parempi renderer notices our new function and knows when to use it Next one has to think a little about the commands or environments structure If it can include other environments or commands inside it then the recursion has to be continued from underlinet node This means that the do_underlinet function has to somehow handle the nodes inside it Usually one ends up using unicode node function which searches the whole Parempi renderer for the possible do functions On the other hand in some cases it might be more convenient to end the recursion in which case unicode node would not be called If we assume that the underlinet command or environment can include only text then one solution could be to use following function def do_underlinet self node return u underlinet unicode node textContent u What is worth noticing now that although unicode
8. User and Developer manual for Parempi renderer using PlasTeX September 6 2010 Contents 1 Introduction 2 2 User manual 2 2 1 Installing Parempi renderer to PlasTeX framework o o 2 2 2 Using Parempi rendere r vi a a d a bE ee ee A eee ee al 2 2 3 Parts of Parempi renderer 2 2 202 eee a a a a aa a a 3 2 4 Usecaserexamplesss os id ahd oe bb a Ad Eee ed 3 2 0 User configuration y Le awed ist A ele ee Se a ee A 5 3 Developer manual 7 3 1 Adding unidentified command or environment 0 000 002 eee 7 3 1 1 Forcing PlasTeX to identify a command 2 0 0000 7 3 1 2 Forcing PlasTeX to identify an environment 8 3 1 3 Handling the command or environment in Parempi renderer 9 3 2 Recursion unicode node and default node o o 10 3 2 Sunicode nede ev gure ee bra a A ee bo ed 10 3 2 2 default node ra eair ere Mae hb fae Bo ae te wow ala a a aoe a eS 10 O tee on tt le deha MA Bee th te toa RE he ei det BR te E ets amp 10 1 Introduction This document is meant for both users and developers as we suppose most of the users will at the same time find themselves also as developers Parempi renderer is a renderer created in the group of renderers already available for PlasTeX It is written in Python and renders tex files into txt files Its intended main audience is visually impaired users who wish to read content from code ridden
9. ase is that one should not include args self new class as it makes the parser to duplicate the pass is enough this time Another change is that now class underlinet has to inherit Environment After adding a new class for the new environment nodes for some reason Instead using just Python phrase in the article py file one should end up with the following code File Edit Options Buffers Tools Python Help usr bin env python from report import from plasTeX import Command Environment def ProcessOptions options document import report report ProcessOptions options document document context thesection format section document context theindex counter section document context theindex level Environment SECTION_LEVEL document context printindex counter section document context printindex level Command SECTION_LEVEL document context bibliography counter section document context bibliography level Command SECTION_LEVEL class appendix Command class thesection TheCounter format section Alph def invoke self tex self ownerDocument context counters section setcounter 0 self ownerDocument context thesection class underlinet Environment type self thesection pass This changed code now enables PlasTeX s renderer to correctly interpret the tex file with env
10. empiMathrc i18n xml to plasTeX dir slides py to plasTeX dirl Packages amsmath py to plasTeX dirl Packages PlasTeX may be located in usr local lib python2 6 dist packages plasTeX or similar depending on your system The files plasTeXrc and ParempiMathrc are configuration files that should be lo cated in home directory To get slides environment working with Parempi renderer slides py is needed The file 118n xml is used to get more language specific terms The file amsmath py fixes the parsing of equation environment While using this package both equation and equation environ ments will be parsed in the same way However they can still be rendered in a different way To be able to render table of contents or citations you will also need to have a LaTeX distribution installed 2 2 Using Parempi renderer Using Parempi renderer is simple assuming that you don t want to do any changes to initial configurations and you have installed at least e LaTeX 5 3 e plasTeX 0 9 2 e Parempi renderer If these qualifications apply to you proceed Now when you are in the directory where your file tex is located you can just type plastex file tex to run the program PlasTeX also takes a whole set of different command line parameters They are all documented in PlasTeX own documentation see http plastex sourceforge net or 1 However the few and the most useful command line
11. es folder There one can define a new class named exactly as the command in question excluding stars used in math environment For taking care of stars in math environment one can look advice for example from amsmath py which is located in directory plasTeX Packages One should now also note that a large part of the commands and environment PlasTeX knows are defined in classes that are located in the directory plasTeX Base LaTeX It also seems that these classes are always loaded and adding these few lines in there has the same affect as in directory plas TeX Packages However one has to understand that the packages in directory plasTeX Packages like article py are loaded only if so stated in the tex file This means that to be able to use new com mands in article py one has to use the precise package by using usepackage or documentclass command in tex file However including the few lines in a Python class located in plasTeX Base LaTeX will make the commands available almost everywhere while including them in a class located in the direc tory plasTeX Packages will make the commands available only after usepackage or documentclass command 3 1 1 Forcing PlasTeX to identify a command If one were to introduce a new command underlinet then the solution would be to define a new class in the article py in the following way usr bin env python from report import from pla
12. ing The name of the section in ParempiMathrc where math symbol rules are read from mathIndent 1 The amount of whitespace indentation in math commands that use indentation cases equation equation displaymath align align eqnarray eqnarray renderUndefinedCommands True True keeps the information of the existence of commands that are undefined outside math environ ment False hides them formulaNumbering 25 Amount of whitespace characters before formula numbering in equations and aligns ignore A string List of commands that will be hidden outside math environments Their content is still processed Use comma to separate different commands in the list mathignore A string List of math environment commands that will be hidden Their content is still processed Use comma to separate different commands in the list ParempiMathrc configuration file stores the math symbol rules Each rule should be in its own line Each profile will have its own section The format of a single rule to change math symbol command command into output symbol is as follows command gt symbol 3 Developer manual 3 1 Adding unidentified command or environment In the following we explain a bit how to make PlasTeX first recognize an unidentified command and after that to handle the command or environment in question We use an example usecase where the user has defined a command underlinet in the tex file which is not ye
13. iron ments Unfortunately one cannot define two classes with the same name so making the same command to work for both commands and environments doesn t seem to be possible 3 1 3 Handling the command or environment in Parempi renderer After PlasTeX identifies the command or environment properly all there is left is to define how to render it Easiest way to write a new command is to create a new do function in Parempi renderer In other words this means writing a few lines of code to _init__ py situated in plasTeX Renderers Parempi directory Below are the few steps one has to take in order to implement a working new do function in _init_ py Fortunately for the developer PlasTeX parser outputs commands and environments into document tree in exactly the same manner if they are just interpreted correctly This reduces needed studying as the following steps will apply for both commands and environments First one has to decide will the do function have one two or three marks in its name In the ordinary case one uses only a single mark and this case will be used unless the command s or environment s name has some nasty characters like stars If the function name has marks that cannot be used in a function name in Python then usually one has to select two marks On the other hand three marks are dedicated to math environment s non numbering option Thus usually one will use a single mark but in some cases either two
14. rrent tree depth is The same in Python like pseudocode def do_element output lt process element indent number lists format tables etc return output unicode element def unicode element grossly simplified if element is text return element as text if not element has children return None else for each child process child 3 2 2 default node default node is called when a proper handling function for a document element has not been found In other words it handles all unrecognised elements These might be rare or specific enviroments and commands This also includes complex document author macros Depending on the renderUndefinedCommands option Parempi renderer will either skip it or print it the way it is in the TeX file and in any case attempt to process the unknown element s children The same in Python like pseudocode def default write unknownCommand to logfile if not renderUndefinedCommands return unicode node skips current element else return begin unknownCommand unicode node gt end unkownCommand 3 3 Debugger Debugger is a renderer like parempi only that it tries to render the the DOM tree of the LaTeX document created by the PlasTeX parser for debugging not for content reading purposes It prints all the nodes and their parameters The debugger comes in handy when you don t know how parser generates nodes or what the hierarchy of nodes
15. sTeX import Command def ProcessOptions options document import report report ProcessOptions options document document context thesection format section document context theindex counter section document context theindex level Environment SECTION_LEVEL document context printindex counter section document context printindex level Command SECTION_LEVEL document context bibliography counter section document context bibliography level Command SECTION_LEVEL class appendix Command class thesection TheCounter format section Alph def invoke self tex self ownerDocument context counters section setcounter 0 self ownerDocument context thesection type self thesection Define here your new class After adding these lines the parser will know that underlinet is a command and parses it as a command class underlinet Command args self Unless you also define args self the document will not be parsed correctly by PlasTeX for some reason This can be easily verified using the debugger we provided Another point to notice is that the new class we just defined inherits Command class defined in plasTeX 3 1 2 Forcing PlasTeX to identify an environment The same basic ideas apply also with environments almost in a similar manner However the minor detail in this c
16. t implemented in Parempi renderer It could for example be some different underline command or environment defined in some LaTeX package As PlasTeX doesn t in every case load all LaTeX packages correctly this kind of usecase could just be something worth noticing especially for developers but maybe it could be helpful for users as well When running PlasTeX the program first creates a document structure i e a document tree from the tex file given for the program as input After it has parsed all the commands properly into corresponding nodes in the document tree it unleashes the renderer which then renders the document to certain specific format When PlasTeX parser is creating the document structure and choosing how to group different commands under nodes it looks for a certain command from both documentclasses and packages This naturally means that the easiest way to add a command is to put it into a place where either documentclasses or packages are defined In PlasTeX both of these changes can be made by adding some approriate lines of code to the corre sponding Python class For both packages and document classes one of the possible directories is plas TeX Packages Another place to do changes would be for example plasTeX LaTeX or plasTeX Base directory As an example we shall next consider articles For them this trick can be done by using the article documentclass which is defined in a file article py in the Packag
17. tex files Many of the features added for Parempi renderer when compared to PlasTeX s normal Text renderer are meant to help visually impaired users to be able to both read and communicate what they read to other people This is also the reason why for example the figure captions generated using Parempi renderer have page numbers although the document i e the txt file hasn t got any page numbers We tried to leave as many parts of the program as configurable as possible for easy configuration Hope you enjoy using the program Software Engineering Project Course Group Parempi 2 User manual 2 1 Installing Parempi renderer to PlasTeX framework Installation of Parempi is just like any other Python package Parempi is a rendering module for a plasTeX framework so make sure plasTeX is installed before installing this It is recommended to download and install plasTeX manually using Python style install python setup py install We had some problems installing Parempi renderer after installing plasTeX from Ubuntu s Software Centre To install Parempi run the following command after installing plasTeX Python 2 4 is required python setup py install You may need to run the command as a root sudo to be able to install the renderer to the same location as plasTeX After installing Parempi renderer please copy manually the following files to the locations listed below plasTeXrc to plasTeXrc ParempiMathrc to Par
18. tion overriding Each time the renderer is ran it reads a special configuration file from the current directory This configuration file has the same name as the input file except that the file extension is ini and not tex The setting ignore under the configuration section parempi is a special case There is currently no way to take away any commands listed as the value of this setting without changing the main configuration file itself The commands listed in the ignore of the input specific configuration can only make the renderer to ignore more commands If the symbolProfile setting is overridden the ordinary settings will be read first with the ordinary symbolProfile and the overriding symbolProfile will be effective while reading the overriding ini These two will be combined Note that it is possible to have a math configuration section named as parempi in the overriding ini but this is not recommended as this may cause the ordinary overriding settings to be read as a part of the math config that though won t typically cause problems as the names are likely to be different Here is an example If the current directory contains files test tex and test ini and PlasTeX is ran with the renderer Parempi and test tex as input the settings in normal user configuration files Parempi Mathrc and plasTeXrc are overridden and extended with the correspondingly formatted settings found in test ini If our
Download Pdf Manuals
Related Search
Related Contents
User Manual - Kiranreddys.com Conceptronic 4-Ports Cube USB 2.0 Hub Manual del usuario ES EL-5300 User Manual Kidde KN-COB-IC User's Manual Philips 256MB Sport Audio Player C 4/36-90 / C 4/36-350 Autodesk SketchBook® 3.4 1) από Casio EX-ZR100 Owner's Manual Copyright © All rights reserved.
Failed to retrieve file