Automated notion clustering for the knowledge LaTeX package
Project description
knowledge-clustering
Clustering notions for the knowledge LaTeX package.
Maintained by Rémi Morvan, Thomas Colcombet and Aliaume Lopez.
A tutorial on how to use knowledge-clustering
can be found here.
Principle
The goal of knowledge-clustering
is to help the user write a LaTeX document with
the knowledge package.
It has two features:
- Clustering: provide suggestions to the user of what notions should be grouped together.
- Add quotes: find where you might have missed some quotes in your document.
Installation
To install (or upgrade) knowledge-clustering
, run
pip3 install --upgrade knowledge-clustering
and then
knowledge init
Clustering notions
Syntax
Usage: knowledge cluster [OPTIONS]
Edit a NOTION file using the knowledges present in a DIAGNOSE file.
Options:
-k, --knowledge FILE File containing the knowledges that are already
defined. [required]
-d, --diagnose FILE Diagnose file produced by LaTeX. [required]
-l, --lang [en|fr] Language of your TeX document.
-S, --scope / --no-scope Print the scopes defined in the notion file and
print the possible meaning of those scope inferred
by knowledge-clustering.
-c, --config-file TEXT Specify the configuration file. By default the
configuration file in the folder
<knowledge-clustering-installation-
folder>/knowledge_clustering/data/ corresponding
to your language is used.
--help Show this message and exit.
Example
Example files can be found in the examples/
folder.
While writing some document, you have defined some knowledges in a file called small.tex
(distinct
from your main LaTeX
).
You continued writing your LaTeX
document (not provided in the examples/
folder)
for some time, and used some knowledges that were undefined.
When compiling, LaTeX
and the knowledge package
gives you a warning
and writes in a .diagnose
file some information explaining what went wrong. This .diagnose
file contains
a section called "Undefined knowledges" containing all knowledges used in your main LaTeX
file but not
defined in small.tex
. We reproduced this section
in the small.diagnose
file.
Normally, you would add every undefined knowledge, one after the other, in your
small.tex
. This is quite burdensome and can
largely be automated. This is precisely what knowledge-clustering
does: after running
knowledge cluster -k small.tex -d small.diagnose
your file small.diagnose
is left unchanged
but small.tex
is updated with comments.
The cluster
command is optional: you can also write knowledge -k small.tex -d small.diagnose
.
Now you simply have to check that the recommandations of knowledge-clustering
are
correct, and uncomment those lines.
Adding quotes
Usage: knowledge addquotes [OPTIONS]
Finds knowledges defined in NOTION that appear in TEX without quote symbols.
Proposes to add (or add, if the force option is enabled) quotes around them.
Options:
-t, --tex FILE Your TeX file. [required]
-k, --knowledge FILE File containing the knowledges that are already
defined. [required]
-c, --column When finding a match for a knowledge, precise between
which columns (tabs count as 4 columns).
-F, --force Don't ask the user and always add quotes if a match is
found.
--help Show this message and exit.
Devel using virtualenv
Using virtualenv and the --editable
option from pip3
allows for an easy
setup of a development environment that will match a future user install without
the hassle.
For bash and Zsh users
virtualenv -p python3 kw-devel
source ./kw-devel/bin/activate
pip3 install --editable .
For fish users
virtualenv -p python3 kw-devel
source ./kw-devel/bin/activate.fish
pip3 install --editable .
FAQ
-
When running
knowledge
, I obtain a long message error indicating "Resource punkt not found."Solution: run
knowledge init
. -
My shell doesn't autocomplete the command
knowledge
.Solution: depending on whether you use
zsh
orbash
writeeval "`pip completion --<shellname>`"
(where
<shellname>
is eitherzsh
orbash
) in your.zshrc
(or.bashrc
) file and then, either launch a new terminal or runsource ~/.zshrc
(orsource ~/.bashrc
). -
I've updated
knowledge-clustering
but I still don't have the last version:This can happen if you have multiple versions of
python
(and multiple versions ofknowledge-clustering
). Solution: Typewhere python3
, and uninstallknowledge-clustering
from everywhere (using<path>/python3 -m pip uninstall knowledge-clustering
) except your main version of python. Try to then upgradeknowledge-clustering
by runningpip3 install --upgrade knowledge-clustering
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for knowledge-clustering-0.4.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e212fab5f6eb1fef7f5e14c6b5eed4fad3c95cd87829a6a40b8c4fd3227a3c6a |
|
MD5 | b2e8f8169266cd5c9e1f702815c8f2ac |
|
BLAKE2b-256 | 537a0419843855c09e27460e2b02408c4fa6ca648e8d30bdcb2a08a458f4d5ab |
Hashes for knowledge_clustering-0.4.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 892c8f9540cd354171ff4baffe9c142881c8562b41f361b1c3146ad4eaaeb0fd |
|
MD5 | 6345a8d549e2eb92089fdbb24c62ce2c |
|
BLAKE2b-256 | 897bf84331d93153fe02c3def9292f84ad662fc7cd8c6a7e6b972e4c9cdd5fe7 |