The knowledge package is a LaTeX package that helps handling semantical notions in (scientific) documents. It tries to offer a usable access to one of the key advantages of the computer world: hyperlinks. It also gives an easier way to maintain an index.
As readers and reviewers, we have all been irritated, be it a bit or a lot, by not being able to find easily a key definition that was given sometimes hundred pages before (in a PhD thesis for instance). Using the knowledge package, every use of a concept becomes one click away from its definition (in the electronic version of the document), and an index with all its occurrences can be easily maintained (for the printed version of the document). The longer is the document, the more it improves the reader’s experience, but it already helps in conference papers.
The best experience for the reader is obtained using a good pdf-viewer. It should follow precise links (jumping to a specific location in a page is not the same as jumping to the beginning of the page). Also, some viewers (such as skim for mac) offer a preview of the target when hovering over a link.
It can be found on CTAN, and as a consequence, should be available in your LaTeX distribution. You may consider upgrading your LaTeX distribution to get the latest version.
The documentation should be available in your computer. Get it by running ‘texdoc knowledge’ in some shell.
An introduction can be found in Rémi’s tutorial (going to the tutorial directory).
Bug reports and more generally feedbacks are welcome. I am also ready to change the way the package is developed and distributed if someone is interested in participating.
Rémi Morvan developed and maintains the project knowledge-clustering, a wonderful python script which makes the use the knowledge package much easier by suggesting the grouping of knowledge, as well as inserting the knowledge commands in the code.
Here are some documents (the list has not been updated recently) that were produced using the knowledge package.
this web page (and the affiliated ones) were generated using htlatex for producing the html, some python script for handling the bibliography and the knowledge package for all the links,
the documentation of the package,
a textbook under writing by Ralph Sarkis on category theory, with the pdf and its source,
a paper at LICS17 with Marcin Jurdziński, Ranko Lazić and Sylvain Schmitz, and its version using knowledge in draft mode where links are explicit,
an introductory paper in SIGLOG news with Daniela Petrişan on automata and categories,
a paper at ICALP 2016 with Nathanaël Fijalkow on the link between regular cost functions and languages of infinite words,
a paper at LICS 2016 with Stefan Göller on finite games of infinite duration with promises on quantities by the players,
a paper at ICALP 2015 with Sreejith A. V. on characterizing the expressiveness of fragments of monadic second order logic on countable linear orders.
The most reliable resource is hosted at CTAN (the Comprehensive TeX Archive Network). As a consequence, the package is naturally updated with your LaTeX distribution connected to it (texlive, mactex and protext). You may want to force an update of the packages of your distribution to have access to the latest features.
Video of a talk in French for the GUTenberg association (French speaking Group of Users of TeX, LaTeX and related software): here.
Many persons have been helpful in the conception of this package, through discussions, testing and bug reports. Let me cite Dietmar Berwanger, Michaël Cadilhac, Arnaud Carayol, Antonio Casares, Tomáš Hejda, Andreas Krebs, Patrick Lambein, Aliaume Lopez, Rémi Morvan, Charles Paperman, Sylvain Perifel, Jean-Éric Pin, Gabriele Puppis, Daniela Petrişan, Luca Reggio, Fabian Reiter, Léo Stefanesco, Sylvain Schmitz, Rebecca Turner and Marc Zeitoun.