I maintain a LaTeX package which is obsolete. All its useful commands are provided by other packages, possibly with different syntax, but still the point is there is no reason for anyone to use my package anymore. Anyone who wants its functionality should use the other packages that replace it.
Are there any best practices I should use to "retire" my package? In other words, to push people away from using it and toward the other packages that replace it?
As an extreme example, one thing I could do is upload a new version of my package to CTAN in which the entire contents is deleted and replaced with
\PackageError{mypackage}{mypackage is obsolete!}{%
See the documentation for what you should be using instead}
or something along those lines. This would more or less force people to stop using my package. But according to this answer it's desirable that old LaTeX documents should still compile correctly, and this extreme solution spoils that. Perhaps deprecation using a \PackageWarning
would be better? Or something else entirely? (Does CTAN have any special support for deprecating a package?)
But again, that is only an example. I am asking for any best practices that are recognized by experienced package authors, or have been successfully used in the past, when it comes time to mark a package as obsolete.
\PackageWarning
and a note at the start of the package documentation saying that the package is depreciated and that people should use X, Y and Z.:-D
-- Just kidding, I'd go with Andrew's suggestion.stackengine
) in which some of its original syntax became obsolete, and incompatible with the revised syntax. What I did when implementing the improved syntax was to create a package option that allowed the obsolete syntax to be invoked. So, in this way, you could make the package load issue an error message, unless the user added the[UseItAnyway]
(or whatever) option to his invocation, if he really wanted to continue its use. The error message could even alert the user to the existence of the[UseItAnyway]
option.