Skip to main content

Automated notion clustering for the knowledge LaTeX package

Project description

Knowledge-Clustering

Clustering notions for the knowledge LaTeX package.

Maintainers:

  • Rémi Morvan
  • Thomas Colcombet

Principle

The goal of Knowledge-Clustering is, when using the knowledge package to automatically provide suggestions to the user of what notions should be grouped together.

Using Knowledge-Clustering

Input

Knowledge-Clustering takes two input files: one file <file_notion> in which you are storing your knowledges (these corresponds to the tex files in the folder examples), and a file <file_diagnose> produced by the knowledge package (files with diagnose extension).

Syntax

The syntax is the following: ./knowledge.py -n <file_notion> -d <file_diagnose> [options]. At any time, you can display the help using ./knowledge.py --help.

Output

Knowledge-Clustering writes its output directly in the <file_notion> as comments. If the user accepts the suggestion, she can simply uncomment the line. Otherwise, she must remove the line and define the notion manually.

Examples

You can run knowledge.py on the examples provided. The file examples/small.tex says to Knowledge-Clustering that the following notions are already defined

\knowledge{notion}
| word

\knowledge{notion}
| regular language
| recognisable language

\knowledge{notion}
| monoid

Moreover, from the file examples/small.diagnose indicates that four unknown knowledges where found when compiling some LaTeX document: "monoids", "semigroup", "words" and "semigroups". After running ./knowledge.py -n examples/small.tex -d examples/small.diagnose, the file examples/small.tex now contains:

\knowledge{notion}
| word
%  | words

\knowledge{notion}
| regular language
| recognisable language

\knowledge{notion}
| monoid
%  | monoids
%%%%% NEW KNOWLEDGES 
%
%\knowledge{notion}
%  | semigroups
%  | semigroup

which means that it is suggested to the user to put "words" together with the (already known) knowledge "word@ord", to put "monoids" with "monoid", and to define a new notion containing "semigroup" and "semigroups".

You can also run Knowledge-Clustering on an empty notion file and a (possibly) huge diagnose file. An example is provided in examples/big.tex (which is empty) and examples/big.diagnose (which contains 181 undefined knowledges).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

knowledge-clustering-0.1.2.tar.gz (10.0 kB view hashes)

Uploaded Source

Built Distribution

knowledge_clustering-0.1.2-py3-none-any.whl (11.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page