LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Frank Mittelbach <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Mon, 16 Apr 2018 20:22:42 +0200
text/plain (53 lines)
Hi folks,

after about 20+ years I finally got around taking a closer look at doc 
package and one ore the other extension that has been written based on it.

Given that on one hand doc is missing a lot of useful functionality but 
on the other hand 2/3 of the LaTeX packages use .dtx based code I 
thought it isn't advisable to change anything that exists but only 
provide a modest update that offers some in my opinion useful features 
without rendering existing documentation obsolete.

Speaking of not changing anything: of course any addition is a change 
and while \NewDocElement is probably safe other bits may not be and that 
might call for some adjustments.

So basically I added

hyperref support out of the box
and integrated some of the ideas from the dox package by Didier Verna 
(though I didn't keep his interfaces). The latter allows addition 
doc-elements so that you can structure the documentation properly and 
obtain a more useful index according to your needs, eg document options, 
counters lengths etc and have them indexed in various ways.

Out of the box, doc will still only offer Macro and Env but this way it 
is now trivial to customize this on a per package basis. I have tested 
this on various documentation already, but of course some wider tests 
are advisable before I will move that (or rather a later version as I'm 
still working on code and documentation) into the main LaTeX distribution.

So I'm looking for people trying this out on their own packages and 
report any problems or suggestions back to me, preferably via the github 
issue tracker.

The code is located at

for those who want to give it a try


ps the new code uses the new rollback functionality of the 2018-04 
release of LaTeX, even though you can use the package with an older 
LaTeX release. But if you have a current one then


should always get you back the older version and thus should run any old 
package code. (Of course that only works if you use the 2018 version of 
the LaTeX kernel)