My TeX package projects
1. What TeX packages are (skip if you know): TeX
is a very powerful multi-platform typesetting program.
“Power” includes:
- TeX supports styles of typesetting required in various academic areas,
far beyond what office software provides, or at least easier
(“clicking formulas together” may be quite exhausting).
- Apart from typesetting, TeX provides a programming language
as powerful as any other
(it is Turing-complete, cf.
programming
a Mars rover with TeX).
- You can make your own commands
(“macros” — free customizability
of user interface for specific local purposes,
e.g. to save typing repeating sequences of text
and other commands).
TeX’s power on the other hand means:
- The TeX program almost cannot be handled without user interfaces consisting of
packages of macros (those introducible “commands”).
- The behaviour of these macros and the TeX program is typically so complex
that even experts sometimes must work very hard to figure out what is going on.
Thus a macro package usually is a user interface for special purposes;
yet there are also macro packages that don't introduce special commands but just change settings.
LaTeX is the mostly used general purpose macro package.
2. Packages I maintain on
CTAN, the
internet repository of TeX-related software:
- ednotes.sty for
typesetting critical editions in the classical manner.
(My main work, initial idea of implementation Christian Tapp’s;
see works that used ednotes.sty.)
- lineno.sty numbers
lines of text and allows referring to them by their numbers.
This is essential for
ednotes.sty;
but the package is also used for the revision process of submissions, cf.
Elsevier’s
recommendations. (Mainly Stephan I. Böttcher’s work, extension to tables
based on his and Christian's ideas, my extension on capacity for large editions
with many notes per page.)
- The nicetext bundle
txt-to-latex and filtering functionality especially for easy package documentation
with “minimal” markup (presentation needs to be improved).
- versions.sty allows
switching between “versions” of a document, typeset from the same source,
by changing settings in one or two lines, maybe brief vs. extended,
English vs. Spanish, or exercises with/without answers.
(Reimplementation of old
version.sty.)
- tamefloats.sty LaTeX's
output routine likes to misplace footnotes in presence of figures or margin notes.
TeX 3 provided a remedy \holdinginserts which LaTeX however hasn't used so far.
tamefloats.sty is a patch doing so.
The package seems to be an improvement (I received one assertion), yet not the entire solution.
- ltabptch.sty a patch to
longtable
to repair uneven vertical spacing.
- autoarea.sty a
tool for
PiCTeX
which is a package for drawing figures.
3. Pending work: There
are some compatibility-related issues probably needing much work;
I have also made a number of new features working fine at my
workplaces—while
needing additional efforts to prepare public releases of them.
I am listing these issues here in hope for support without which
I am unable to master them.
- lineno.sty can be used together with the following packages
(in the sense that all the text of a document can be compiled),
yet sometimes not with the desired outcomes. lineno.sty may, e.g.,
occasionally disable features of other packages.
Such issues have even been discussed in internet forums (without telling the maintainers).
- amsmath.sty (American
Mathematical Society) — almost inevitable standard
in scientific publishing, but lineno.sty doesn't number its equation arrays properly.
- multicol.sty especially
for switching between one- and two-column-mode in mid page with line numbers in the page margins.
- hyperref.sty (hypertext
support) marking anchors by colours or frames seems not to work properly.
- lineno.sty documentation as well as its CTAN
directory need some actualization and transparent reorganization
(cf. below).
- Journal classes:
- American Physical
Society: revtex4 —
compatibility issues, worked out privately.
- Elsevier: on the one hand, there seems to be
elsarcticle.cls
on CTAN; on the other, there seems to be a new class
elsart.cls
available from Elsevier’s pages only, being not as cooperative with lineno.sty
as elsarticle once was. One of them seems to be active now, not the
other — I am unable to find out which …
- Around lineno.sty:
- wrapfig functionality: This
at present is part of a private version of
lineno.sty
that was used in Volume III/3 of the German
Nicolaus-Copernicus-Gesamtausgabe
to let text flow around redrawings of the figures in Copernicus’
De revolutionibus.
Because of changing page breaks, the figures had to be repositioned within paragraphs several times,
they were some 140.
With wrapfig.sty, such a change needs knowing
and respecting the line breaks. With lineno’s
enhancement, one just enters the number of the line where the figure should be inserted into a
paragraph. It would be quite simple to place it automatically at the top of the next page if it
doesn't fit on the present page (this may not work in all cases). In a later future, there might be
a reduced version of lineno.sty that just provides
this functionality, without numbering lines and referring to them.
- Documentation and package management: I am working at
macros for producing high-quality documentation from “old-style”,
simple almost ASCII documentations of TeX packages without the heavy
doc.sty
machinery, to be applied to those maintained by myself in the first instance.
The present state of this is the nicetext bundle,
documenting itself this way.
lineno.pdf
should become another application. So far, it has been made with
AWK.
I am replacing AWK
(as well as
Perl
for more general applications) with something following the philosophy of
docstrip.tex
- \includeonly bug fix: It seems that each change of
\includeonly
crashes.
- Long lemmas: (Apparently related to previous problem)
ednotes.sty
doesn't properly support referring to text that spans
paragraphs or more (e.g., entire chapter) is missing;
my tries in own work were not stable enough to be released,
it is a matter of choosing a nice syntax as well.
(A preliminary, privately distributed
parlemma.sty
as of 2009-03-04 seems to solve this.)
- Margin notes to tables (just a release is missing, mainly for critical
editions): edtable.sty
so far has been an enhancement of
lineno.sty
(in the latter’s
CTAN directory)
for dealing with tables and as such an enhancement of
ednotes.sty
for critical editions as well;
my private version of it now is a standalone enhancing Markus Kohm’s
marginnote.sty.
- parallel.sty functionality
or compatability (translations or synopses, parallel text passages
facing each other on left/right pages or left/right columns).
- Line numbers in index: Some users have a private version of this,
to be released.
I may already have spent unreasonably much time with some of these projects without having been paid.
If single jobs listed above can be carried out in a few hours, the major task remains that they at present should not be released one by one, rather there should be one new release of
lineno.sty and
ednotes.sty at once.
4. Abilities as a
consultant: My TeX- and typography-related knowledge and abilities include:
- typographical principles;
- markup commands;
- obtaining special symbols (have you noticed I am using typographical versions of dashes,
apostrophes,
quotation marks, spaces here?);
- shaping tables;
- internal processes of TeX and LaTeX (I have studied the TeXbook,
which is the main TeX manual, and the LaTeX code);
- finding existing special packages for special purposes;
- years of practice with math and other sciences formulas
as well as with critical text editions;
- Engagement on the
texhax
mailing list, to answer or discuss ‘how-to’ or ‘why’ questions
on TeX and LaTeX. texhax also keeps me in touch with new developments and technologies
that I haven't tried myself so far.
- for languages, cf. my German Wikipedia
homepage
(mainly German, English, Latin).
Mixed abilities: My knowledge of internals of platforms may be limited,
although worked on [CPM,] DOS, Atari, Apple MacIntosh stages, MS Windows stages, UNIX/Linux
or of other programs than TeX (did some BASIC, Assembler, PASCAL programming,
some office applications, some importing and reworking of graphics).
My programming tools and environments are rather primitive.
(However, I work with Alexander Gröpl’s outline editor xEDIT
which provides powerful shorthand mechanisms!)
Until I have finished certain projects, I will only take part-time or freelance jobs.
I hope to resume scientific work (mathematics, philosophy) instead of mainly working on TeX.
To top of page
This page as of Sep 22, 2009
|