summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/knowledge/knowledge.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/knowledge/knowledge.tex')
-rw-r--r--macros/latex/contrib/knowledge/knowledge.tex158
1 files changed, 86 insertions, 72 deletions
diff --git a/macros/latex/contrib/knowledge/knowledge.tex b/macros/latex/contrib/knowledge/knowledge.tex
index b0d40485a8..aca0ea97dd 100644
--- a/macros/latex/contrib/knowledge/knowledge.tex
+++ b/macros/latex/contrib/knowledge/knowledge.tex
@@ -85,6 +85,8 @@
\let\subsubsubsection\paragraph
+\knowledge{[...]}{italic,color=gray}
+
\knowledge{notion}
| semigroup@ex1
| semigroups@ex1
@@ -96,7 +98,7 @@
\knowledge{not implemented}{link=to be done}
\knowledge{to be done}{color=DarkRed}
\knowledge{|}{text=\vbar}
-\knowledge{[...]}{italic,color=gray,md}
+\knowledge{"[...]"}{italic,color=gray,md}
% Macros defined by knowledge
\knowledgedirective{kenvironment}{autoref,style=cs,intro style=csintro}
@@ -640,7 +642,7 @@ This allows to easily link the use of a notion to its definition, to add it to
\texttt{date:}&\texttt{\filedate}
(documentation produced \today)\\
\texttt{license:}&\texttt{LaTeX Project Public License 1.2}\\
-\texttt{web:}&\url{https://www.irif.fr/~colcombe/knowledge_en.html}\\
+\texttt{web:}&\url{https://ctan.org/pkg/knowledge}\\
\texttt{CTAN:}&\url{https://www.ctan.org/pkg/knowledge}
\end{tabular}
\end{quote}
@@ -689,13 +691,13 @@ I have seen Till Tantau who explained me how to test whether a material is displ
\item[2017-01-13] The package \kl{scope option} can now be omitted. This in particular avoid clashes with the over-restriction on the structure of the document it entails. It should be improved to stop overloading the \cs{\begin} command.
\item[2017-01-14] The overloading of \cs{\begin} and \cs{\end} was done as protected commands, which should not be the case to be consistent with the behaviour of LaTeX (for instance, this was giving an extra line in the title in the conference mode of the class IEEEtran). Corrected: these commands are not protected anymore.
\item[2017-01-15] A workaround for an incompatibility between the "hyperref@@package" and the two-column mode as been added in the macro
-\cs{\knowledgeFixHyperrefTwocolumn} (thanks to Daniela Petrisan).
+\cs{\knowledgeFixHyperrefTwocolumn} (thanks to Daniela Petri\c san).
\item[2017-01-15] Added the \kl[\knowledge directives]{directive} \kl{synonym}.
\item[2017-01-15] Added the \texttt{noknowledge package} for minimizing the effects of not having "knowledge@@package" activated.
\item[2017-01-17] Changed the way options are handled, decoupling the package options (options of \cs{\usepackage}) from the configuration options (see \cs{\knowledgeconfigure}).
\item[2017-01-17] Proper treatment of `final' option and \kl[composition mode]{composition} options.
\item[2017-01-17] Added \cs{\IfKnowledgeFinalMode}\texttt{[TF]} commands for the user.
-\item[2017-01-17] Added the option \kl{fix hyperref twocolumn} as a shorthand for calling \cs{\knowledgeFixHyperrefTwocolumn} (thanks to Daniela Petrisan and Luca Reggio).
+\item[2017-01-17] Added the option \kl{fix hyperref twocolumn} as a shorthand for calling \cs{\knowledgeFixHyperrefTwocolumn} (thanks to Daniela Petri\c san and Luca Reggio).
\item[2017-01-18] Added the configuration option \kl(option){notion} that offers a basic configuration compatible with \kl(package){xcolor} or not, and \texttt{final} and \kl{composition} modes.
\item[2017-01-19] Added \cs{\phantomintro} and an explanation on how to deal with \kl{align*}.
\item[2017-02-20] Removed the warnings of latex for unknown labels in \kl{autoref}.
@@ -731,7 +733,7 @@ I have seen Till Tantau who explained me how to test whether a material is displ
\item [2017-07-01] Corrected a conflict between the "scope@@option" and "makeidx@@option" option.
\item [2017-07-03] Scoping becomes operational.
\item [2017-07-04] The documentation for "notion@@style" and "intro notion@@style" are added (thanks to Fabian Reiter).
-\item [2017-07-09] Added boolean \cs{environment_bool} field to "areas",in order to resolve an incompatibility with the package "standalone@@package" noticed by Fabian Reiter.
+\item [2017-07-09] Added boolean \cs{environment_bool} field to "areas", in order to resolve an incompatibility with the package "standalone@@package" noticed by Fabian Reiter.
\item [2017-07-20] "Scoping" becomes fully operational, with the parenthesis notation of \cs{\kl} and \cs{\intro}. The use of scope has been recoded. Now scope links reuse implicitly the key as a link. Documentation updated.
\item[2017-07-26] File and line numbers added in the "kaux file". Added the option "diagnose line=" to deactivate it.
\item[2017-07-26] Corrections to the documentation. Version 1.03 on CTAN.
@@ -761,7 +763,7 @@ I have seen Till Tantau who explained me how to test whether a material is displ
\item[2019-10-27] Bug correction and added the `\textbf{patch label}' configuration directive (thanks to \href{https://becca.ooo/}{Rebecca Turner}). V1.18.
\item[2019-11-19] Now the labels are evaluated before being written to the "kaux file" in a \cs\KAuxNewLinkScopetagInstance\ command (bug fix). V1.19.
\item[2019-11-29] Help added in the "diagnose file". \textbf{bar suggestion} (still working) renamed to "diagnose bar", and activated by default. \textbf{patch label} is renamed into "label scope".
-\item[2019-12-02] The "kaux file" is now checked for completeness befor being used. This should avoid errors when the previous compilation failed.
+\item[2019-12-02] The "kaux file" is now checked for completeness before being used. This should avoid errors when the previous compilation failed.
\item[2019-12-03] Corrected bug in the scope access. V1.20.
\item[2020-01-25] Corrected bug when "knowledge@@package" is used without "hyperref@@package" (thanks to Rémi Nollet).
\item[2020-01-25] Corrected bug that made the kaux file not stabilize (thanks to Rémi Nollet). V1.21 on CTAN.
@@ -774,7 +776,9 @@ I have seen Till Tantau who explained me how to test whether a material is displ
\item[2021-05-26] Corrected wrongly used default parameter in \cs\knowledgedirective.
\item[2021-05-27] The explicit text given in a \cs\kl-command now overrides the "text=" directive.
\item[2021-07-18] Adding the "no index" directive.
-\item[2021-12-20] Adding options "anchor point shape", "anchor point color", "anchor point shift" (rom request of Rémi Morvan).
+\item[2021-12-20] Adding options "anchor point shape", "anchor point color", "anchor point shift" (request of Rémi Morvan).
+\item[2021-12-27] Bug correction for corner shape, and doc update (thanks to Rémi Morvan).
+\item[2022-01-12] Minor changes. Removing dead link for the webpage. V1.27
\end{compactdesc}
\normalsize
%\restoregeometry
@@ -955,9 +959,9 @@ Then write the document using \cs{\intro} (or \kl{""...""} if \kl(option){quotat
\begin{code}[12cm]
\cs\AP{}
A \cs\intro\{semigroup\} is an ordered pair \verb|$(S,\cdot)$| in which \verb|$S$| is a set and \verb|$\cdot$| is an
-associative binary operator over~\verb|$S$|. A \cs\intro\{semigroup morphism\} is \kl{[...]}\\
-\kl{[...]}\\
-Consider a \cs\kl\{semigroup morphism\} between \cs\kl\{semigroups\} \verb|$S$| and \verb|$T$|. \kl{[...]}
+associative binary operator over~\verb|$S$|. A \cs\intro\{semigroup morphism\} is "[...]"\\
+"[...]"\\
+Consider a \cs\kl\{semigroup morphism\} between \cs\kl\{semigroups\} \verb|$S$| and \verb|$T$|. "[...]"
\end{code}
\noindent or when the "quotation notation" is activated:
\begin{code}[12cm]
@@ -965,9 +969,9 @@ Consider a \cs\kl\{semigroup morphism\} between \cs\kl\{semigroups\} \verb|$S$|
A \kl{""}semigroup\kl{""} is an ordered pair \verb|$(S,\cdot)$| in which \verb|$S$| is a set and \verb|$\cdot$| is an
associative binary operator over~\verb|$S$|.
\cs\AP{}
-A \kl{""}semigroup morphism\kl{""} is \kl{[...]}\\
-\kl{[...]}\\
-Consider a \kl"semigroup morphism\kl" between \kl"semigroups\kl" \verb|$S$| and \verb|$T$|. \kl{[...]}
+A \kl{""}semigroup morphism\kl{""} is "[...]"\\
+"[...]"\\
+Consider a \kl"semigroup morphism\kl" between \kl"semigroups\kl" \verb|$S$| and \verb|$T$|. "[...]"
\end{code}
This yields
@@ -976,9 +980,9 @@ This yields
\begin{PDFoutput}[11cm]
\AP A \intro[_semigroup]{semigroup} is an ordered pair $(S,\cdot)$ in which~$S$ is a set and $\cdot$ is an
associative binary operator over~$S$.
-\AP A \intro[_semigroup morphism]{semigroup morphism} is \kl{[...]}\\
-\kl{[...]}\\
-Consider a \kl[_semigroup morphism]{semigroup morphism} between \kl[_semigroups]{semigroups} $S$ and $T$. \kl{[...]}
+\AP A \intro[_semigroup morphism]{semigroup morphism} is "[...]"\\
+"[...]"\\
+Consider a \kl[_semigroup morphism]{semigroup morphism} between \kl[_semigroups]{semigroups} $S$ and $T$. "[...]"
\end{PDFoutput}
\knowledgeconfigure{visible anchor points=false}%
\marginpar{"Undefined knowledges" also yield warnings during the compilation. These can be avoided using the "silent" option.}%
@@ -1012,9 +1016,9 @@ The result is then (after two compilations):
\begin{PDFoutput}[11cm]
\AP A \intro(ex1){semigroup} is an ordered pair $(S,\cdot)$ in which~$S$ is a set and $\cdot$ is an
associative binary operator over~$S$.
-\AP A \intro(ex1){semigroup morphism} is \kl{[...]}\\
-\kl{[...]}\\
-Consider a \kl(ex1){semigroup morphism} between \kl(ex1){semigroups} $S$ and $T$. \kl{[...]}
+\AP A \intro(ex1){semigroup morphism} is "[...]"\\
+"[...]"\\
+Consider a \kl(ex1){semigroup morphism} between \kl(ex1){semigroups} $S$ and $T$. "[...]"
\end{PDFoutput}
\knowledgeconfigure{visible anchor points=false}%
%
@@ -1044,11 +1048,11 @@ which is properly linked to a semigroup morphism.
One can in particular imagine that \smallcode{\kl"morphism@@RG\kl"} would instead represent ring morphisms.
Sometimes, one does not want to expand the knowledge base because the word is not specific. For instance
- \smallcode{These \cs\kl[semigroup]\{algebraic objects\} \kl{[...]}}, or
- \smallcode{These \kl"algebraic objects@semigroup\kl"\} \kl{[...]}},
+ \smallcode{These \cs\kl[semigroup]\{algebraic objects\} "[...]"}, or
+ \smallcode{These \kl"algebraic objects@semigroup\kl"\} "[...]"},
yields
\begin{PDFoutput}[6cm]
-These \kl(ex1)[semigroup]{algebraic objects} \kl{[...]}
+These \kl(ex1)[semigroup]{algebraic objects} "[...]"
\end{PDFoutput}\noindent
The term is properly linked to the definition of semigroups.
@@ -1090,16 +1094,20 @@ See \kCref(option){makeidx} for more details on making an index.
\label{subsection:mathematics scenario}
The examples above show various techniques for using \kl{knowledges} for enhancing the information associated to terms. In fact, these techniques are not incompatible with mathematics. Some special syntax is even offered:
-\begin{code}[9cm]
+\begin{code}[12.6cm]
\cs\knowledgenewrobustcmd\cs\closure[1]\{\cs\cmdkl\{\cs\langle\}\#1\cs\cmdkl\{\cs\rangle\}\}\}\\
-{[...]}\\
-The closure of~\$X\$ under product is denoted~\$\cs\intro*\cs\closure\{X\}\$
+"[...]"\\
+The closure of~\$X\$ under product is denoted~\$\cs\intro*\cs\closure\{X\}\$.\\
+"[...]"\\
+ Consider now \$\cs\closure\{\cs\{a,b,c\cs\}\}\$.
\end{code}\noindent
\noindent
would yield:
-\begin{PDFoutput}[4cm]
-\knowledgenewrobustcmd \monoid{\cmdkl{\mathcal M}}
-A monoid is $\monoid$ !
+\begin{PDFoutput}[8cm]
+ \knowledgenewrobustcmd \closure[1]{\cmdkl{\langle}#1\cmdkl{\rangle}}
+ \AP The closure of~$X$ under product is denoted $\intro*\closure X$.\\
+ "[...]"\\
+ Consider now $\closure{\{a,b,c\}}$.
\end{PDFoutput}
\begin{problem}
But I want more. I want to be able to introduce variables.
@@ -1112,14 +1120,14 @@ attached to a particular context. This is particularly true when typesetting mat
The following code gives an idea of what is possible using \kl{scoping}:
\begin{code}
\cs\knowledgeconfigureenvironment\{theorem,lemma,proof\}\{\}\par\noindent
-\kl{[...]}\par\noindent
+"[...]"\par\noindent
\cs\begin\{lemma\}\cs\label\{theorem:main\}\par\noindent
~~~~\cs\knowledge\{n\}\{\kl{notion}\}\par\noindent
-~~~~For all number~\$\cs\intro\ n\$, \kl{[...]}\par\noindent
+~~~~For all number~\$\cs\intro\ n\$, "[...]"\par\noindent
\cs\end\{lemma\}\par\noindent
-\kl{[...]}\par\noindent
+"[...]"\par\noindent
Here \$\cs\kl\ n\$ is an undefined knowledge.\par\noindent
-\kl{[...]}\par\noindent
+"[...]"\par\noindent
\cs\begin\{proof\}[Proof of theorem\~\space\{theorem:main\}]\par\noindent
~~~~\cs\knowledgeimport\{theorem:main\}\par\noindent
~~~~Inside the proof, \$\cs\kl\ n\$ is hyperlinked to the theorem...\par\noindent
@@ -1477,12 +1485,12 @@ usable in \cs{\knowledge} commands, that amounts to execute the comma separated
a default value. For instance:
\begin{code}
\cs\knowledgedirective\{highlight\}[brown]\{\kl{color=}\{\#1\},\kl{emphasize},\kl{md}\}\\{}
-\kl{[...]}\\{}
+"[...]"\\{}
\cs\knowledge\{notion A\}\{highlight\}\\
\cs\knowledge\{notion B\}\{highlight\}\\
\cs\knowledge\{notion C\}\{highlight\}\\
\cs\knowledge\{important notion D\}\{highlight=red\}\\{}
-\cs{[...]}\\
+"[...]"\\
We shall now see \cs\kl\{notion A\}, \cs\kl\{notion B\}, \cs\kl\{notion C\}, as well as the \cs\kl\{important notion D\}.
\end{code}
\noindent
@@ -1935,7 +1943,7 @@ It is often the case in a text, that one has to locally break the nesting struct
\begin{code}
\textcolor{gray}{\% We declare first in the preamble the environments that use knowledge.}\\
\cs\knowledgeconfigureenvironment\{definition\}\{knowledge=attracts\}\par\indent
-{[...]}\\
+"[...]"\\
\indent
\cs\begin\{definition\}\cs\label\{somewhere\}\\
\indent~~\cs\knowledge\{something\}\{notion\}\\
@@ -1963,14 +1971,14 @@ accessible until the closure of the current \kl{scope}.
For instance:
\begin{code}[9cm]
\cs\knowledgeconfigureenvironment\{theorem,proof\}\{\}\par\indent
-{[...]}\par\indent
+"[...]"\par\indent
\cs\begin\{theorem\}\cs\label\{theorem:1\}\par\noindent
~~\cs\knowledge\verb|\alpha|\{\kl{autoref},\kl{color=}red\}\par\noindent
-~~Let \$\cs\intro\verb|\alpha|\$ be an integer [...]\par\noindent
+~~Let \$\cs\intro\verb|\alpha|\$ be an integer "[...]"\par\noindent
\cs\end\{theorem\}\par\noindent
-{[...]}\par\indent
+"[...]"\par\indent
Here \$\cs\kl\verb|\alpha|\$ is unknown.\par\noindent
-{[...]}\par\indent
+"[...]"\par\indent
\cs\begin\{proof\}\par\noindent
~~\cs\knowledgeimport\{theorem:1\}\par\noindent
~~But now \$\cs\kl\verb|\alpha|\$ points to its definition.\par\noindent
@@ -2210,26 +2218,26 @@ A typical use looks as follows:
\end{hint}}
\begin{code}
\cs\knowledge\{house\}[Houses\vbar houses]\{\kl{autoref}\}\\~
-\kl{[...]}\\
+"[...]"\\
\cs\begin\{document\}\\~
-\kl{[...]}\\
+"[...]"\\
In this document, we will see the very important notion of \kl{"}houses\kl{"}.\\~
-\kl{[...]}\\
+"[...]"\\
\cs\AP\\
Let us define a \kl{""}house\kl{""} to be a building that functions as a home.\\~
-\kl{[...]}\\
+"[...]"\\
\cs\end\{document\}
\end{code}\noindent
yields
\begin{PDFoutput}
\knowledge{house}[Houses| houses]{autoref}%
-\kl{[...]}\\
+"[...]"\\
In this document, we will see the very important notion of \kl{houses}.\\~
-\kl{[...]}\\
+"[...]"\\
\AP
Let us define a \intro{house} to be a building that functions as a home.
\\~
-\kl{[...]}
+"[...]"
\end{PDFoutput}
\AP
@@ -2237,10 +2245,10 @@ The variant \csintro{\intro*} makes the next \cs{\kl} command behave like \cs{\i
\begin{code}
\cs\newcommand\kl[@token]\monoid\{\cs\kl[\kl[@token]\monoid]\{\cs\mathcal M\}\}\\
\cs\knowledge\kl[@token]\monoid\{autoref\}\\~
-\kl{[...]}\\
+"[...]"\\
\cs\AP\\~
Let now \$\cs{\intro*}\kl[@token]\monoid\$ be a monoid.\\~
-\kl{[...]}\\
+"[...]"\\
Remember now who is \$\kl[@token]\monoid\$.
\end{code}
%
@@ -2251,7 +2259,7 @@ Section~\ref{section:amsmath questions} gives some solutions. \end{hint}}
\knowledge\moonoid{autoref}
\AP
Let now $\intro*\moonoid$ be a monoid.\\~
-\kl{[...]}\\
+"[...]"\\
Remember now who is $\moonoid$.
\end{PDFoutput}
@@ -2339,7 +2347,7 @@ For instance:
\cs\AP\\
In order to describe what is a \cs\kl\{monoid\}, let us us first define
a \cs\intro\{product\} to be an associative binary operator,
-and a \cs\intro\{unit\} to be \kl{[...]}
+and a \cs\intro\{unit\} to be "[...]"
\bigskip
\cs\begin\{description\}\\
@@ -2361,7 +2369,7 @@ yields
\AP In order to describe what is a \kl{monoid2}, let us us first define
a \intro{product2} to be an associative binary operator,
and a \intro{unit2} to be
-\kl{[...]}\par
+"[...]"\par
\begin{description}
\itemAP[A \intro{semigroup2}] is a set equipped with a \kl{product2}.
\itemAP[A \intro{monoid2}] is a \kl{semigroup2} that has a \kl{unit2}.
@@ -2590,9 +2598,9 @@ Imagine that you use the norms $1$ and $2$ of a function:
Now, the norm $1$ and the norm $2$ can be defined in different places since "knowledge" is specific to each case.
\begin{code}
\cs\AP\ The norm~\$1\$ of a function~\$f\$ is denoted \$\cs\intro*\cs\norm1f\$.\\
- {}[...]\\
+ "[...]"\\
\cs\AP\ The norm~\$2\$ of a function~\$f\$ is denoted \$\cs\intro*\cs\norm2f\$.\\
- {}[...]\\
+ "[...]"\\
Here, \$\cs\norm 1g\$ and \$\cs\norm2h\$ link to the proper place, while\\\$\cs\norm3g\$ is an undefined knowledge.
\end{code}
@@ -2616,9 +2624,9 @@ We shall use it in the advanced examples below. It allows:
\begin{code}
\cs\renewmathcommand\cs\pi\{\cs\kl[\cs\pi]\{\cs\LaTeXpi\}\}\\
\cs\knowledge\cs\pi\{notion\}\\
- {[...]}\\
+ "[...]"\\
\cs\AP\ Let \$\cs{\intro*}\cs\pi=3.1415\$.\\
- {[...]}\\
+ "[...]"\\
Now \$\cs\pi\$ points to the above sentence.
\end{code}
This code works because a different name \cs\LaTeXpi\ stores the original macro. Using~\cs\pi\ instead would yield an infinite loop.
@@ -2656,9 +2664,9 @@ Five points have to be kept in mind:
These five points are illustrated in the following code:
\begin{code}
\cs\knowledgenewrobustcmd\cs\comp\{\cs\mathrel\{\cs\cmdkl\{\cs\circ\}\}\}\\
-{[...]}\\
+"[...]"\\
\cs\AP\ Composition is denoted \$\cs{\intro*}\cs\comp\$.\\
-{[...]}\\
+"[...]"\\
Now, each use of \$\cs\comp\$ points to its introduction.
\end{code}
@@ -2681,9 +2689,9 @@ Another situation is that one would like to use the \cs\circ\ control sequence f
In this case, the "mathcommand@@package" package can also be of some help:
\begin{code}
\cs\knowledgerenewmathcommand\cs\circ\{\cs\mathrel\{\cs\cmdkl\{\cs\LaTeXcirc\}\}\}\\
-{[...]}\\
+"[...]"\\
\cs\AP\ Let \$g\cs{\intro*}\cs\circ\ f\$ denote the composition of functions.\\
-{[...]}\\
+"[...]"\\
Now, each use of \$\cs\circ\$ points to its introduction.
\end{code}
\noindent
@@ -2740,7 +2748,7 @@ A typical document using notion could start by the following commands:
\cs\usepackage\{\kl(package){hyperref}\}\\
\cs\usepackage[\kl{electronic}]\{"knowledge@@package"\}\\
\cs\knowledgeconfigure\{"notion@@option"\}\\
-{[...]}\\
+"[...]"\\
\cs\knowledge\{some text\}\{notion\}
\end{code}\noindent
Then the paper is displayed in a colorful way.
@@ -2790,13 +2798,13 @@ The notation \kl{"..."} does not have this issue.
\cs\knowledge\{\robustdisplay\Ltwo-space\}[\robustdisplay\Ltwo-spaces]\{autoref\}\\
\cs\knowledge\{\'etale topology\}[\'Etale topology]\par
~~~~~~~\{\kl{url=}\{https://en.wikipedia.org/wiki/\'Etale\_topology\}\}\\
-{[...]}\\
+{"[...]"}\\
\cs\begin\{document\}\\
\cs\tableofcontents\\
\cs\section\{On \cs\kl\{\robustdisplay\Ltwo-spaces\}\\
-{[...]}\\
+{"[...]"}\\
\cs\section\{On the \cs\kl\{\'etale topology\}\}\\
-{[...]}\\
+{"[...]"}\\
\cs\end\{document\}
\end{code}\end{center}\noindent
will result in that both \kl{knowledges} are considered unknown in the table of contents.
@@ -2810,14 +2818,14 @@ solves the first problem.
\item Using an equivalent text that does not have the problem:
\begin{code}
\cs\knowledge\{$\backslash$'etale topology\}\{\kl{link=}\'etale topology\}\\
- {[...]}\\
+ {"[...]"}\\
\cs\section\{On the \cs\kl\{$\backslash$'etale topology\}\}
\end{code}
\item Both problems can be solved using synonyms/links that have no problem. For instance:
\begin{code}
\cs\knowledge\{Ltwo-space\}\{\kl{link=}\robustdisplay\Ltwo-space\}\\
\cs\knowledge\{etale topology\}\{\kl{link=}\'etale topology\}\\
- {[...]}\\
+ {"[...]"}\\
\cs\section\{On \cs\kl[Ltwo-space]\{\robustdisplay\Ltwo-spaces\}\}\\
\cs\section\{On the \cs\kl[etale topology]\{étale topology\}\}
\end{code}
@@ -2909,11 +2917,11 @@ The problem has to be resolved by hand. The two following solutions are quick ha
\cs\usepackage\{\kl(package){complexity}\}\\
\cs\let\cs\compAP\robustdisplay\AP\\
\cs\let\robustdisplay\AP\cs\undefined\\
-\cs\usepackage[...]\{"knowledge@@package"\}
+\cs\usepackage"[...]"\{"knowledge@@package"\}
\end{code}
&&
\begin{code}[5.2cm]
-\cs\usepackage[...]\{"knowledge@@package"\}\\
+\cs\usepackage"[...]"\{"knowledge@@package"\}\\
\cs\let\cs\kAP\robustdisplay\AP\\
\cs\let\robustdisplay\AP\cs\undefined\\
\cs\usepackage\{\kl(package){complexity}\}
@@ -2934,13 +2942,19 @@ at the end of lines. This is an issue with the \kl(package){hyperref} package. T
The preamble thus looks like:
\begin{code}[9cm]
-\cs\documentclass\{\kl{[...]}\}\par\noindent
+\cs\documentclass\{"[...]"\}\par\noindent
\cs\pdfoutput=1\par\noindent
-\kl{[...]}\par\noindent
+"[...]"\par\noindent
\cs\usepackage[\kl{breaklinks}]\{\kl(package){hyperref}\}\par\noindent
-\kl{[...]}\par\noindent
+"[...]"\par\noindent
\cs\usepackage\{\kl(package){knowledge}\}\par\noindent
-\kl{[...]}\par\noindent
+"[...]"\par\noindent
+\end{code}
+
+\subsection{Display errors in pdf output, in particular "arXiv"}
+Again, try in the preamble:
+\begin{code}[9cm]
+\cs\pdfoutput=1
\end{code}
\subsubsection{Red boxes around links}
@@ -2980,7 +2994,7 @@ A simple hack to treat this situation:
\cs\let\cs\section\cs\SUPERsection\\
\cs\begin\{"thebibliography@@env"\}\\
\cs\bibitem\dots\\
-{}[...]\\
+{}"[...]"\\
\cs\end\{"thebibliography@@env"\}\\
\cs\let\cs\section\cs\NEWsection
\end{code}