(Last modified Tue Jan 22 22:41 2008)
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
and
.
These are to be released as part of the jEdit distribution
starting with release 4.2pre12.
mode v1.2
There had been no separate
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
),
and comments; nothing more.
It is very minimally helpful for
.
This one is far, far more useful.
: A document preparation system
(1994
2ε
edition),
plus a large selection from amstex and other packages.
Approximately 970 distinct items are covered.
math,
displaymath,
$...$,
\(...\),
\[...\],
\ensuremath,
equation,
equationarray, and
equationarray*)
tabbing
tabular and tabular*
picture
errors
(for example, $$...$$
and bare [...]).
It is much easier to write
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:
verbatim and verbatim* environments.
"" are no longer highlighted.
\mathrm{ is recognized properly now.
\"
are highlighted correctly
even if their argument is not in {}.
mode v1.3
jEdit has had a specific
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
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:
| Entries | Fields | Additional 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 |
{\"o}) correctly.
"text" and {text},
nesting of one within the other,
and \{text\} and {text} inside either.
| 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 |
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).