\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%
% The documentation of the _knowledge package_ can be found at:
%
%    http://www.irif.fr/~colcombe/knowledge_en.html
%
%
% Loading other packages before knowledge activates features.
% The most common use of knowledge makes use of hyperref and xcolor:
\usepackage[breaklinks,hidelinks]{hyperref} 
\usepackage{xcolor} 
%
% The package 'knowledge' has  now to be loaded.
% The options 
%      'paper', 'electronic' or 'composition' (default)
% can be used. These activates different rendering styles.
% - paper produce a paper to be printed
% - electronic highlights links using color
% - composition (or default) highlights missing knowledges as
%   well as other information. It should always be used but when the paper is ready.
%
\usepackage{knowledge} % default
%\usepackage[electronic]{knowledge} % final version to be read electronically
%\usepackage[paper]{knowledge} % final version in black and white for printing
%

% The 'notion' configuration is commonly used for scientific papers.
\knowledgeconfigure{notion}

% The 'quotation' configuration is commonly used and triggers the "..." notation.
\knowledgeconfigure{quotation}



% The following 
% It is convenient now to provide a list of \knowledge in the preamble:
%    \knowledge{knowledge text}[synonym 1|synonym 2|...]{directives}
% Most common in a science paper are 'notion' knowledges that
% are used in the body with  \intro and \kl commands/""...""" and "..." notatation:
\knowledge{anchor point}[anchor points|Anchor points]{notion}
\knowledge{diagnose file}{notion}
\knowledge{knowledge package}{notion,typewriter}
\knowledge{paper mode}{notion}
\knowledge{electronic mode}{notion}
\knowledge{composition mode}{notion}

% the synonym directive can replace the [...] syntax 
\knowledge{knowledge}{notion}
\knowledge{knowledges}{synonym}
\knowledge{Knowledges}{synonym}

% Some other configurations are possible, such as:
\knowledge{LaTeX}[latex|LATEX|Latex]{url={https://fr.wikipedia.org/wiki/LaTeX},  text=\LaTeX}
\knowledge{pdflatex}{url={https://en.wikipedia.org/wiki/PdfTeX}, typewriter}


\title{Mini example for the \texttt{knowledge} package}
\date{}
\begin{document}
\maketitle
\begin{abstract}
\AP This document provides an elementary example of the ""knowledge package"" for "latex".
\end{abstract}

Try compiling this document (two compilation phases to have proper links) using "pdflatex", and see how some notions are hyperlinked to their introduction point (some viewers make it more obvious than others by displaying a preview of the target of a link inside a document; since there is only one page in this example, this may be worth zooming in this case).
\AP When the "paper mode" is not active, links are clearly identified in blue. Try then compiling it in ""paper mode"" (an option of the "knowledge package"); it now looks like a regular paper (but the links are still there). In ""electronic mode"",
the links are still colored, but some other hints disappear like "anchor points".

% \AP provides an anchor point: this will be the precise target of the hyperlink.
% It is good practice to use is at the beginning of every paragraph that contains
% \intro commands. If 'final=false', then these anchor points appear as a small
% corner (red with xcolor).


\knowledgeconfigure{quotation=false}% temporarily disables the " notation
\AP While writing a document, the two syntaxes \verb|"text"| and \verb|""text""| should be used each time some important concept is used or introduced respectively in the paper. For instance:
\begin{quote}
\verb|Define a ""group"" to be a "monoid" such that...|
\end{quote}
The `@' symbol allows some flexibility by having a displayed text different from the target:
\begin{quote}
\verb|"This kind of algebras@solvable groups"...|
\end{quote}
\knowledgeconfigure{quotation}

\AP These concepts are referred to as ""knowledges"". "Knowledges" are to be defined (in general in the preamble of the document) using a command of the form:
\begin{quote}
\verb|\knowledge|\texttt{\{name\}[synonym1|synonym2|...]\{directives\}}
\end{quote}
However, using undefined "knowledges" will not cause compile time errors, but be displayed as in the following `"unknown knowledge"' (i.e. in non-"paper mode" in brown, but in regular black in "paper mode" or "electronic mode"). \AP The ""diagnose file"" (that ends with a \texttt{.diagnose} extension) contains detailed information about these warnings, and should be read often when finalising the document.

\AP Small red corners are visible in the margin. These are called ""anchor points"", are introduced
using the \texttt{\detokenize{\AP}}command usually at the beginning of each paragraph that introduce some concept, or even in the middle of the paragraph. The "anchor points" become invisible in "paper@paper mode" or "electronic mode".
\end{document}