(Last modified Tue Jan 22 22:41 2008)

home

jEdit

jEdit is a great text editor -- portable (Java), free (Gnu), extensible, fast (granted, it takes time to load), and powerful.  I use it for almost everything and I've been extremely satisfied. 

I've extended it myself of course, in a minor way.  The edit modes for some of the file types I work with regularly were weak, so I made improved versions for LaTeX and LaTeX.  These are to be released as part of the jEdit distribution starting with release 4.2pre12. 

LaTeX mode v1.2

There had been no separate LaTeX mode distributed with jEdit, only an anonymously-provided TeX mode that is extremely sparse:  it distinguishes a number of special characters, the TeX math mode environments $...$ \[...\] $$...$$ (the last of which is not valid in LaTeX), and comments; nothing more.  It is very minimally helpful for LaTeX

This one is far, far more useful. 

  1. It is immeasurably more complete (2700 lines vs. 92), addressing every command, environment, and counter in Lamport's LaTeX : A document preparation system (1994 LaTeX 2ε edition), plus a large selection from amstex and other packages.  Approximately 970 distinct items are covered. 
  2. It handles all the modes, highlighting the correct command sets in each mode and transitioning from mode to mode correctly:
  3. It highlights the 30 other environments in Lamport.
  4. It highlights the commands and counters appropriate for each mode (386 in normal mode, for example).
  5. It highlights separately some common LaTeX errors (for example, $$...$$ and bare [...]). 
  6. It is generated from a summary of Lamport's book by a Perl script to ensure the highest degree of completeness and consistency now and as it evolves.

It is much easier to write LaTeX files with this mode, I can assure you.  Misspelled or inappropriate commands are highlighted as you type, so you can spot and correct them immediately.

Recent fixes: 

latex mode

BibTeX mode v1.3

jEdit has had a specific LaTeX mode, but it is lacking in several respects.  It highlights an (incomplete) set of fields, one of which is misspelled, does not highlight correct entries (it highlights anything following @), and does not relate entries and fields at all. 

This LaTeX mode remedies all those shortcomings.  It's generated from Appendix B in Lamport, using a Perl script that generates complete rule sets for each entry type and cross-checks everything in the mode for consistency.  Features: 

  1. Highlights all the entries and fields in Lamport (see table).
    EntriesFieldsAdditional fields
    article
    book
    booklet
    conference
    inbook
    incollection
    inproceedings
    manual
    mastersthesis
    misc
    phdthesis
    proceedings
    techreport
    unpublished
    address
    annote
    author
    booktitle
    chapter
    crossref
    edition
    editor
    howpublished
    institution
    journal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    volume
    year
    abstract
    annotation
    day
    keywords
    lccn
    location
    references
    url
  2. Includes a number of widely-accepted additional fields.
  3. Dinstinguishes the appropriate required, optional, and other fields for each entry:  required fields in one color, optional in another, remaining fields in a third.
  4. Highlights the month abbreviations.
  5. Handles escaped quotes (like {\"o}) correctly.
  6. Allows "text" and {text}, nesting of one within the other, and \{text\} and {text} inside either.
  7. Allows @entry{...} and @entry(...).
  8. Highlights @string{} and @string().
Entry Required fields Optional fields
article author, title, journal, year volume, number, pages, month, note
book author, editor, title, publisher, year volume, number, series, address, edition, month, note
booklet title author, howpublished, address, month, year, note
conference author, editor, title, chapter, pages,
publisher, year
volume, number, series, type, address, edition, month,
note
inbook author, title, booktitle, publisher, year editor, volume, number, series, type, chapter, pages,
address, edition, month, note
incollection author, title, booktitle, year editor, volume, number, series, pages, address, month,
organization, publisher, note
inproceedings author, title, booktitle, year editor, volume, number, series, pages, address, month,
organization, publisher, note
manual title author, organization, address, edition, month, year, note
mastersthesis author, title, school, year type, address, month, note
misc author, title, howpublished, month, year, note
phdthesis author, title, school, year type, address, month, note
proceedings title, year editor, volume, number, series, address, month,
organization, publisher, note
techreport author, title, institution, year type, number, address, month, note
unpublished author, title, note month, year

bibtex mode

HTML 4.01 mode v1.0

This mode is an experiment, since jEdit already has an HTML mode that is further supported by the XML plugin.  This experimental mode highlights every entity and attribute of the W3C HTML 4.01 specification — it is generated from the specification, in fact.  I suppose you could say it gives an alternative HTML editing experience:  lots of highlighting (especially of disallowed things), no auto-fill.  Each entity has its own mode, and attributes are highlighted appropriately for the entity containing them.  It does not distinguish correct from incorrect entity nesting, though (maybe in a future version). 

html401 mode

Share-Alike Made with jEdit Valid CSS! Valid HTML 4.01! UC Irvine Thomas A. Alspaugh
Assistant Professor, Informatics Dept.
School of Information and Computer Sciences