Home
PDF version of paper
Contents
1. text auto completion case changing word wrapping patterns e g LATEX environ ments as itemize therefore automatically filling begin itemize item and end itemize autoindent font selection for editor windows and con sole and many other features In addition to this short list it is possible to find many more limitations Here the most important ones in our view have been listed 3 Description 3 1 Technology The implementation of the tool has been completely done using Java under Eclipse Version control was kindly provided by Berlios 3 Students prepared the doc umentation using Rational Rose for UML diagrams MS Project for Gantt charts and MS Word It seems that our graduate students do not feel the need for more powerful text editing when working with ATEX 3 2 The Main GUI Figure 1 shows the main GUI of ACIDE It consists of three main panels The left panel shows the organisation of the current project the MDI windows in the right are the opened files which may belong to the project files may be opened without assigning them to the project Below the shell panel is shown which allows user interaction The case shown is a command console of Windows XP Both the shell and project panels can be hidden Moreover there is no need to work with projects if this flexibility is not needed a regular user may use the system as is The status of the GUI is remembered for the next time the tool is executed If the
2. New Open Save and Save All this last one only for files For development purposes a button with label Syntactic analysis is included and it is intended to test text parsing Currently a fixed grammar is included but it will be specified by the user see Section 3 5 2 Next to the fixed toolbar there is the configurable toolbar see Section 3 5 5 Finally the status bar gives information about some items The complete path of the selected file the selected grammar and lexicon the line and column num bers Caps Lock Scroll Lock Num Lock and current time 3 3 ACIDE System Variables There are two system variables which are used for configuring commands in the toolbar and also for configuring compiler options and the executable file activeFile Contains the complete file name of the current file the one in the active MDI window mainFile Contains the complete file name of the main file the one man ually marked with Set as Main File In both cases it is also useful to access only the name of the file or the exten sion an issue to be addressed soon 3 4 Projects A project contains the whole status of a session which is defined by all the pos sible configurations as well as the current display status It consists of files ar ranged in folders with any tree depth all the configurations for the session lexicon grammar compiler shell language menu and toolbar main GUI ar rangement panel sizes
3. The menu bar can be configured by enabling or disabling predefined entries see Figure 7 This configuration has to be extended to user defined commands as in the toolbar 12 a Modify toolbar lastModified Name Texify Command jelatex bat pjACIDE activeFile can be used to refer te active windo Help Text Runs latex bibtex latex and latex Image Note Any field can be blank Command Help text dwi2pdf Figure 6 Toolbar Configuration 13 a Modify menu configuration AllOn Menu File Open Save As Save Save All Close Close All Print Exit Menu Edit Undo Repeat Copy Paste Cut Select All Go to line number Search Replace Menu Project New Project Open Project Close Project Save Project Save Project As Add File Remove File Add Folder Remove Folder Compile Project Execute Project Set File as Compilable Unset File Set main Menu Tools Show Log Project Browser Shell Window Menu Configuration Compiler Lexicon New Grammar New Menu New Tool bar New Shell Configuration Lexicon Load Grammar Load Menu Load Tool bar Load Shell Execute command V Lexicon Modify Grammar Modify Menu Modify Tool bar Modify Language Espa ol Lexicon Save Grammar Save Menu Save Tool bar Save Language English Lexicon Save as Grammar Save as Menu Save as Tool bar Save as Grammar Set paths Grammar Auto analysis Me
4. and opened files in the project and file attributes File attributes identify a file in a project as compilable and or main If a file is com pilable then the compiler configuration can be set to compile each of these files 8 If a file is a main file there is only one in the project then it can be used in the compiler configuration or in the toolbar commands For instance a E TEX project would compile the main file whether it is opened and active in the multifile panel or not The filename of the main file can be accessed with the system variable mainFile The project structure shown in folders is a logical view which may coincide with the physical structure of the OS folders but this is not needed You can include in a given project a file belonging to another tree structure therefore allowing to share files for different projects 3 5 Configuration Next possible configurations are briefly described 3 5 1 Lexicon The lexicon for a programming or description language can be configured as shown in Figure 2 for implementing a useful feature in text editors syntax high lighting Our tool allows defining the tokens and their associated format colour bold face and or italics Also delimiters are needed to detect each token and these can also be declared Line comments start with a given string in IATBX for instance Also a colour can be specified for comments 3 5 2 Grammar Both lexical categories and sy
5. Re port 139 04 Facultad de Inform tica Universidad Complutense de Madrid 2004 http des sourceforge net 17
6. Science Faculty at the Universidad Complutense de Madrid Spain Also thanks to the projects TIN2005 09207 C03 03 and S 0505 TIC0407 which supported this work Finally thanks to the free open source project ANTLR 2 which we use in our project as well as to the Java and Eclipse initiatives This article was prepared with MikTeX 2 4 11 ACIDE 1 cf Figure 1 and BibMgr 4 16 References 1 ACIDE A Configurable Integrated Development Environment http acide sourceforge net 2 ANother Tool for Language Recognition http www antlr org 3 Berlios http www berlios de 4 Bib Manager and Word Citer http bibmgr sourceforge net 5 Crimson Editor http www crimsoneditor com 6 Eclipse http www eclipse org 7 JBuilder http www borland com jbuilder 8 JCreator http www jcreator com 9 JEdit http www jedit org 10 LaTeX Editor http www latexeditor org 11 MikTeX http www miktex org 12 Texmaker http www xmimath net texmaker 13 TexNicCenter http www toolscenter org 14 WinEdt http www winedt com 15 WinShell http www winshell org 16 P Arenas A J Fern ndez A Gil FJ L pez Fraguas M Rodr guez Artalejo and F S enz P rez TOY A Multiparadigm Declarative Lan guage Version 2 3 0 2007 R Caballero and J S nchez Eds Available at http toy sourceforge net 17 F S enz P rez Datalog Educational System User s Manual Technical
7. tool opens a project its status when it was last saved is restored The menu bar includes some common entries File For file related operations New Open Close Close All for closing all opened files Save Save As Save All Print and Exit Missing useful options Recent Files Edit For clipboard related operations search undoing changes and go to line number Missing useful options Select All Insert Comment Remove Comment Project For project related operations New Project Open Project Close Project Save Project Save Project As Add File to the current project Remove File from the current project New Folder in the project structure Delete Folder from the 6 FA ACIDE LaTeX File Edit Project View Configuration Help D EN q fom a ta Sintactic analysis Texify LaTeX BibTeX Yap dvizpdr E E aoe o 4_configuring tex Fa 5_conclusions tex Ey 6_acknowledgements tex 1_introduction tex PIACIDE tex Ox 1_introduction tex amp 2 features tex XJ 3_description tex 2_features tex 3_description tex documentclass pracjourn 2006 08 14 4_configuring tex 5_conclusions tex 6_acknowledgements tex 3 Revision control and journal issue iTPJrevision 2006 02 20 iTPJissuef2005 12 54 55 Mandatory article metadata title ACIDE An Integrated Development Environment Configurable for LaTeX author Fernando 3 a enz P e rez labstract This article introduces the configurable integ
8. PLUS e MINUS r ISTAR gt tt atom STAR atom INT 5 O O p 5 US EE a ip Mia INT ya LPAREN expr RPAREN Srl setType Token SKIP Figure 3 Grammar Configuration user sets as compilable a menu entry in the Project menu or the files with a given extension e g java Here only the main file is compiled there is no need to compile others This dialog is useful for other programming environments in which several files must be compiled 3 5 4 Executable For programming projects that generate an executable this dialog box allows the user to define the file s location as well as its arguments if any see Figure 5 The entry Execute in the menu Project will execute this file 11 Compiler configuration Compiler configuration Executable Path C texmf miktex bin latex exe mainFiles Examining _ Arguments Compiler Options To compile by each checked file File separator B Extension Figure 4 Compiler Configuration Execution Menu Execution Configuration Executable Path Arguments Figure 5 Executable Configuration 3 5 5 Toolbar The toolbar can be configured by adding icons to the toolbar which are associated with user defined commands see Figure 6 Currently toolbar commands are sent to the console in the shell panel but sending them as a separate process is also needed a pending issue 3 5 6 Menu
9. The PracTpX Journal 2007 No 3 Article revision 2007 08 12 ACIDE An Integrated Development Environment Configurable for LATEX Fernando S enz P rez Website http www fdi ucm es profesor fernan Address Facultad de Inform tica Universidad Complutense de Madrid Spain Abstract This article introduces the configurable integrated development environ ment ACIDE which is an ongoing development project currently in alpha status It is cross platform open source and free and will be distributed under GPL Although targeted to any programming language environment including compilers interpreters and database systems in particular it is well suited to tasks required for TEX and TeX document preparation sys tems It manages projects is useful in dealing with multifile documents al lows configurable menus has a toolbar for executing commands and lexical tokens for syntax colouring and even grammars to identify programming syntactical errors on the fly Keywords Tools Free Open source Cross platform Editor IDE XIX TEX 1 Introduction As a system implementor of declarative languages e g the constraint functional logic language Toy 16 and the Datalog Educational System DES 17 I needed an Integrated Development Environment IDE for each of them Because of the need to work with several languages developing a configurable IDE was almost a necessity Therefore during the course Computing Systems which bel
10. atures of ACIDE although not all of them or their functionalities are fully operational in the current development stage In addition some limitations of the system are noted 2 1 Features Multi File Editor Many files can be opened and two views for the same file and window are possible The usual copy paste undo and redo operations are possible via contextual menus and application menus File printing is also provided Syntax programming errors and delimiter pairs parenthe ses square brackets are highlighted Configurable Menus toolbar syntax highlighting which includes tokens delimiters and remarks parsing from an EBNF language description compiler shell and GUI language currently localised to English and Span ish Tool variables are provided to configure the commands assigned to the toolbar For instance activeFile which keeps the complete file name of the selected file in the tool Text based Configuration This tool allows configuration of all of its pa rameters by the use of text files which permits using the provided dialog boxes without the need to resort to manually encode the data in the plain text files as well as editing these files with a text editor and even generate them with applications For instance one could generate the lexicon of a language from its formal description e g EBNF 2 2 Project Management Logical views of projects arranged in folders which contains files o
11. der 7 and JCreator 8 are examples of commercial software for programming IDEs that also may provide hints for detected functionalities requested by users But maybe the best exponent of an open source free project is Eclipse 6 which is a development platform com prised of extensible frameworks tools and runtime libraries for building deploy ing and managing software and it comes with many programming environments already configured The main drawback is that it cannot be easily configured to deal with programming environments other than the ones it uses Therefore having stated our original goals and reviewed related systems we conclude that no system completely fits our requirements and that our proposal might be of interest for other users In particular ATEX TEX users might find an alternative to existing editors Note however that our system is emerging and is in a very early development stage but its future development will be guided by the aforementioned objectives as well as user feedback The next sections describe the system First Section 2 states the concrete features of the system as well as its main current limitations Section 3 describes ACIDE from a user point of view Section 4 summarises an instance of the system configured for ATEX In Section 5 some conclusions and future work are noted Finally acknowledgements are offered Section 6 2 Features and Limitations This section first describes the inherent fe
12. nguage configurations etc see Sections 2 and 3 Internationalized In order to have a wider audience text files are used to define all the texts of the GUI so that the system can be easily localized to different languages Open source We do believe that the open source alternative will produce better software and systems and allow developers to contribute enhancements This is fitting in a university context so that students will have sources available to learn and practice with them In an unusual step the project s main application has been developed without using other software as a basis While doing this would have allowed more rapid development starting from scratch gave the students a unique opportunity one of the few they will probably have in their careers Nonetheless another free and open source project ANTLR 2 has been used for parsing A Cross Platform System Despite the basic need to develop the same system for several platforms many of us use several different operating systems and there fore want to have the same applications available on several platforms As a con sequence the selected development language was Java which is widely known and works on any platform Of course this was not the only alternative since one can use C for example But for developing a cross platform system that can be widely used and modified in an open source project Java was chosen Free One of our goals in the university is to
13. ntax rules can be defined to configure a grammar in EBNF see Figure 3 Our tool allows the user to type or load those and create a parser which is generated with the open source free project ANTLR 2 ANother Tool for Language Recognition With this tool the user will be able to activate parsing on the fly a valuable aid in avoiding programming errors This feature is still under development and it is expected to be completed by September 2007 3 5 3 Compiler A dialog box allows definition of the compiler to be used its parameters and the files to compile see Figure 4 These files can be the files in the project that the Lexicon Configuration LaTeX Reserved Word Configuration Delimiter Configuration Input reserved word Input new Delimiter Select a colour Delimiters f H Select type of source Normal Preview Preview 1 Set delimiter style Modify Preview Type section section label Mabel documentclass documentclass title title author author paragraph paragraph subsection subsection subsubsection subsubsection abstract abstract A Comment Configuration Input Line Comment Symbol Select a colour Preview v Figure 2 Lexicon Configuration 10 Modify Grammar bytes6 Lexical categories Grammar rules LPAREN q expr mexpr PLUS MINUS mexpr RPAREN w
14. nu Help Show Help About Figure 7 Menu Configuration 14 3 5 7 Shell The shell can be configured with the dialog box seen in Figure 8 The check box is used for echoing the input command when the shell reads the input but does not output it Shell Configuration Executable Change Executable Path End Command Command Echo Apply Figure 8 Shell Configuration 4 Configuring ACIDE to Work in a I4TEX Environment Following the previous section it becomes clear that ACIDE can be configured to work in a IATEX TEX environment At least in the current development stage the following can be configured actually they are Lexicon For syntax highlighting as seen in Figures 1 and 2 Toolbar commands TeXify latex bibtex latex latex LaTeX latex Bib TeX bibtex Yap and dvi2pdf dvi2pdf among others see Figures 1 and 6 Shell For interacting with an operating system console see Figures 1 and 8 Compile project For compiling the main file see Figure 4 15 5 Conclusions and Future Work This paper has presented ACIDE an alternative to other available IDEs with features meeting our initial requirements It cannot be thought of as a complete tool since it is emerging and in an alpha development status It should otherwise seen as a tool that in time might provide a steady stream of features following our requirements For IATEX TEX users there are much better tools in the free marke
15. ongs to a postgraduate study I directed a team of students in developing such a system which we called A Configurable IDE hence the acronym ACIDE The benefits are not only for system implementors who need an IDE for their systems but also for other users such as database users and more importantly for readers of this journal who can use it as already configured for LATEX and T X cf the suggestions in Section 4 Copyright O 2007 Fernando Senz Prez Permission is granted to distribute verbatim or modified copies of this document provided this notice remains intact The requirements of this project were several fold Configurable The main objective of this system is to be as highly configurable as possible keeping the configurations easy and portable by means of text files This configuration includes menus a toolbar for executing commands lexical tokens for syntax colouring and even grammars to identify programming errors on the fly Simple We looked for first a simple intuitive GUI Second a system that can be easily configured for a requested programming system both the language lexicon as well as its grammar Third it must be easily installed even requiring no installer In fact only decompressing an archive and executing a file should be enough to start working with the system And fourth to have a simple multifile editor for basic users which can also be used by advanced users who need extra features projects la
16. r other folders A concrete file can be selected as compilable or as a main file for a compilation Also several files can be selected for compilation by specifying the file extension Logging For implementation purposes a log has been added which helps in developing the tool Limitations Macros They are quite helpful for defining scripts inside the tool Currently this task has to be passed to the operating system That is we can define a command as a system call which can be a batch or script file Toolbar commands might use these macros Debugging An almost indispensable feature for programming but with current limitations the tool can only handle debugging an interpreter with input output via the standard streams It can be used with toolbar buttons therefore easing the task Think for instance of the debugging model of Prolog Menu Commands There is a prefixed set of menu commands which can be enabled or disabled but it is not possible to define new menu commands in the same way they are defined for the toolbar Command History This is quite useful for the shell and also provides an autocompletion feature Dictionary A feature which operates the opposite of syntax highlighting in that unrecognised words are highlighted and in addition suggestions are provided for fixing errors Editor Facilities Other features can be useful such as shorthand methods for completing text fragments e g type 1tx and get LaTeX
17. rated development environment 355 Optional article metadata email will querilla net au hyperlinkemail website http www fdi ucn es profesor fernan address Universidad Complutense de Madrid Spain lt Microsoft Windows XP Versien 5 1 2600 iC Copyright 1985 2001 Microsoft Corp C fernan docs journals PREPARA 2007PracTeXACIDE gt Figure 1 ACIDE Main GUI project structure Compile the specified files see Section 3 5 3 Execute the result of the compilation Set File as Compilable Unset File and Set as Main File Missing useful options Recent Projects View For showing hiding project and shell panels and displaying the log Window arrangements are not possible up to now but usual features are cascading and tiling windows both vertically and horizontally Changing the order of the MDI windows tabs is not possible Configuration This entry allows to configure Lexicon for syntax highlight ing Grammar for parsing on the fly Compiler for compiling the project Shell the shell in the bottom panel Language of the GUL Menu entries that are displayed and Toolbar for the commands which can be displayed ei 7 ther as icons or textual descriptions Tooltips for toolbar commands can be configured Help This entry contains Show Help and About ACIDE In addition there is a fixed toolbar which includes common buttons for file and project related basic operations
18. share knowledge and we make our work freely available to others Further providing free software allows for widespread usage In addition our university and several national projects sup port us as researchers and lecturers see Section 6 so we do not need additional income from developing the software Before starting to develop this project other related systems were analysed On the one hand there are multi file editors such as JEdit 9 which is free cross platform configurable and with many nice features However JEdit is targeted as a file editor not as an IDE and lacks features such as parsing and shell Crimson Editor 5 is a Windows editor also configurable and allows writing commands to send to a shell in order to do code compilations and run executables However it also lacks parsing capability and moreover it is not cross platform On the other hand there are several IDEs which can be categorised into spe cific or general purpose Specific IDEs can also be configured in various ways For instance WinEdt 14 is a Windows editor highly targeted to ATRX and TEX doc uments and it is quite powerful for this document preparation system However it is neither cross platform nor free nor open source Other free IDEs are LaTeX Editor 10 WinShell 15 and TexnicCenter 13 all of these only for Windows Texmaker 12 free and open source LyX a WYSIWYM document processor for nix platforms and several others JBuil
19. t today but ACIDE might be competitive once it is more mature There are many goals yet to be completed Some have been posed in Section 2 and others have been indicated in the following sections while some have become evident after the tool description and configuration Apart from fixing numerous bugs including operating system dependent calls which makes this tool work only for Windows up to now we have to implement state of the art features in file editors programming environments and shell interactions Despite the assumed limitations we hope that this tool will consolidate into a friendly and powerful application amenable to the users for whom it is designed in particular to system implementors database users document writers and developers It can be downloaded from http acide sourceforge net We hope to provide the version described in this paper as soon as possible and to provide a better and more stable implementation by September 2007 6 Acknowledgements I am grateful to the students who developed this system under my guidance which I hope will be useful for them as they develop their own projects in the fu ture These students are Diego Cardiel Freire Juan Jos Ortiz Sanchez and Delfin Rup rez Cafias who worked on this project in the computer science course Sis temas Inform ticos Computing Systems for graduates a course intended for fifth year students of the Computer Engineering studies of the Computer
Download Pdf Manuals
Related Search
Related Contents
Samsung ES SBS with Digital Inverter Technology, 512 L, White Brugervejledning Trame classique Lクリヤー ミニセット ハードナー Sony KV-27FS120 User's Manual User Manual - MDS Battery ナノキャリア(4571) suite - Lochinvar orans-cabinas de ducha con vapor sr 86111 -86113 Smeg CP60X Instruction Manual Advantys Device Type Manager - Advantys OTB Copyright © All rights reserved.
Failed to retrieve file