TexLab is a TeX editor based on parallel programming. Contrary to other TeX editors which use a text file as input, TexLab was designed to process small binary document modules. TexLab typesetting engine is implemented by a thread pool to execute MiKTeX commands, such as: LaTeX, XeTeX or pdfTeX. MiKTeX is the version of LaTeX for Microsoft Windows; it consists of a set of tools to process text. Christian Schenk is the creator of MiKTeX, he studied Computer Science at TU Berlin. When Christian owned his first PC, he began working on a fun project; this project eventually became MiKTeX. TexLab interacts with Windows API's and Win32 through a thin level of abstraction provided by the C++ classes of Wintempla. TexLab interacts with MiKTeX commands through Anonymous pipes which is an interprocess communication method. As LaTeX output is a DVI file, TexLab may require Dvips and DviPdfm to produce PDF documents. This format was designed by David R. Fuchs and was implemented by Donald E. Knuth. This format is used to store documents in a file. To open a DVI file and visualize the document, you can use: YAP, XDVI, WINDVI, etc. Starting version 1.9, TexLab rendering engine is based on Ghostscript which is an interpreter for the PostScript language and PDF.
Document Organization
A LaTeX file is a text file with special control sequences to create documents. These control sequences begin with a backslash and they are used to declared environments . LaTeX is mainly used to create scientific documents in many fields such as: mathematics, physics, computer science, optics, etc. Most TeX editors are based on the processing of a text file that includes LaTeX control sequences. On the contrary, TexLab technology is based on a Document Object Model platform to hide part of LaTeX commands complexity. Thus, TexLab does not operate using a.tex file, instead the document is divided in small components. Each component represents a LaTeX environment and can be individually edited and managed. In version 1.8, TexLab help module interacts using Hypertext Transfer Protocol, HTTP, with the Wikibooks to provide contextual help for LaTeX documents. In LaTeX, a document requires a main text file, and optionally, a set of external files such as images, class files, etc. TexLab file manager technology is responsible to keep the files organized and provide a common interface to interact with the file system of the computer. TexLab file manager technology is also responsible from data exchange with the clipboard and allows pasting directly data from Microsoft Excel, Microsoft Visual Studio, the file system or other applications such as a web browser.
GUI Organization
The original TeXLab GUI had four panels; however, in most recent versions the navigation panel was merged with the PDF view panel. The content panel has remained the same since the first version of TexLab and is used to edit one module of the document at a time. The content panel originally provided spelling support for three languages: English, Spanish and German. However, starting in version 1.9, TexLab dictionary module includes: French, Greek, Italian, Portuguese, Romanian, Russian, Ukrainian, and UK English.
Templates
There are two types of templates: documents templates and equation templates. Document templates are used to start a new document with some pre-defined structure. After the document has been created, it is possible to modify its structure so that the document meets a specific format. In version 1.2, TeXLab provides templates for: articles, Elsevier articles, books, letters, Beamer presentations, proceedings, thesis, and simple documents. Equation templates are used to insert an equation in any type of document. In version 1.9, some new templates were added, these are: homework, IEEE transactions conference, IEEE transactions journal and thesis proposal.
Tools
As LaTeX documents require EPS images, TeXLab provides a set of tools to manipulate images and PDF documents. These tools are based on the poppler library and Sam2p. Poppler is a fork of xpdf which was written by Derek Noonburg; Albert Astals Cid is the current maintainer of Poppler. Sam2p is a command line utility written in ANSI C++ that converts some image formats into Adobe PostScript or PDF files and several other formats. TexLab import/export module is based on Anonymous pipes and Windows processes to interact with Poppler and Sam2p.
File extensions
;.tex: TeX or LaTeX file ;.bib: A bibliography database file ;.tax: A TexLab document file