When writing documentation for a package aimed at CTAN, what should every manual contain? Specific examples of concise yet complete documentation are valued.
This is one of those (hopefully) big list questions, so please CW.
When writing documentation for a package aimed at CTAN, what should every manual contain? Specific examples of concise yet complete documentation are valued.
This is one of those (hopefully) big list questions, so please CW.
EDITED Based on helpful comments:
Standard sections to include (not necessarily in this order):
Introduction
Usage/Syntax/Examples
Troubleshooting and Utilities
Tips and related libraries/packages
References and Index
Suggested sections (though not required):
Table of Contents (depending on size of manual)
Installation
Implementation
For a specific example, my favorite is complete yet not concise whatsoever: The TikZ-PGF manual. That document is a work of art.
Some big projects with exceptional documentation:
Obviously, the demands are different for smaller projects, but bear in mind the things these projects do well...
As an example of the other end of the spectrum, here's a package that currently has fairly poor documentation: moreenum. (I am the author of it, so I can criticise it without anyone getting upset. Nowhere in the documentation have I really explained how to use the package. Now, it is a fairly simple package and it should be obvious. But I think it's better to spell everything out. I will add a brief section with some examples of usage to the docs in the next release.
pgfmanual often does not explain which libraries are required for its examples. Also sometimes some infos about one thing are spread over different sections. IMHO, the memoir documentation is just too big for a just too big class.
– Martin Scharrer
Oct 17 '11 at 09:32
pgfmanual index is really useless (as it tells you).
– Ryan Reich
Oct 17 '11 at 15:41
pgfmanual with regard to length; the generally useful TikZ reference is not at all long and the sections mostly contain what you think they will. The table of contents is well-described, too. However, it took me about a year to realize that you can use arbitrary math in coordinate expressions as long as you put braces around them, and for hiding this in the description of \path plot, the author cannot be forgiven :)
– Ryan Reich
Oct 17 '11 at 15:51
(IMO TikZ would benefit from having 50% of the standard libraries thrown out into separate packages and cutting the backstory of the tutorials, making the pagecount slightly less silly.)
– Ulrich Schwarz Oct 17 '11 at 18:03tikzpicture environment is on page 124 in subsection 12.2.1 'Creating a Picture Using an Environment' of section 12.2 'Creating a Picture' of chapter 12 'Hierarchical Structures: Package, Environments, Scopes, and Styles' of part III 'TikZ ist kein Zeichenprogramm'. Does anybody seriously fail to see the problem?
– cfr
May 10 '15 at 20:41
tex pkg.ins; latex pkg.dtx, copy the files where they belong) and is a little bit redundant. I would rather link to some external general installation guide (which is on my ToDo list). There should be a Usage section (often 2.) before the implementation section. Also Examples should come direct after Usage. The Implementation section is highly optional and should come at the very end. – Martin Scharrer Oct 17 '11 at 07:00~/texmf, and how that is done is distribution-neutral. – Ryan Reich Oct 17 '11 at 15:39~/texmfmay be right for your system, but it is not right for many, many people. Installation sections encourage the belief that the user needs to install the package manually, which is usually not the case. (Exception: if you are publishing under a non-free licence, almost everyone will have to install manually, if they really want the package. So then it is a bit different.) – cfr Aug 02 '17 at 02:49