
\documentclass[a4paper]{christophe}
% Packages
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{graphics,array}
\usepackage{kpfonts}
% Mise en page
\setlength{\parindent}{0pt}
\renewcommand{\arraystretch}{1.3}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
\begin{document}

%$\longmapsto$\end{document}

\begin{center}
{\Huge Kp-Fonts}

\bigskip

{\Large \textsf{Le projet \textsc{Johannes Kepler}}}
\end{center}

\bigskip

\hfill \textsc{Christophe Caignaert}

\hfill \texttt{c.caignaert@free.fr}

\section{Kp-Fonts}

\subsection{Présentation}

Kp-Fonts est un ensemble le plus complet possible de polices pour LaTeX, incluant des polices de texte romaines, sans-serif et machine à écrire, ainsi qu'un ensemble de polices mathématiques comprenant, en normal et gras, tous les symboles usuels et tous les symboles de l\textsc{'ams} et davantage\dots

La première caractéristique recherchée de ces polices était d'avoir un design à la fois basique et dynamique. Regardons par exemple le \og a \fg{} romain :

\begin{center}\begin{tabular}{c|c|c|c|c}
Kp-Fonts & CM & Palatino & Utopia & Times\\\hline
\scalebox{10}{a} &
\scalebox{10}{\fontfamily{lmr}\selectfont a} &
\scalebox{10}{\fontfamily{ppl}\selectfont a} &
\scalebox{9.2}{\rule{0pt}{1.25ex}\fontfamily{put}\selectfont a} &
\scalebox{10}{\fontfamily{ptm}\selectfont a}
\end{tabular}\end{center}

Les autres polices ont été dessinées de façon à s'harmoniser au mieux.

Kp-Fonts ne nécessite a priori aucun autre package de polices et est complètement compatible avec \texttt{amsmath} que Kp-fonts charge ainsi que \texttt{textcomp}. 

\begin{center}\itshape
Vous ne devez donc pas charger les extensions \textbf{\texttt{amsmath}} et \textbf{\texttt{textcomp}}.
\end{center}

L'utilisation de Kp-Fonts ne nécessite qu'un \verb+\usepackage{kpfonts}+ dans le préambule de votre document, au besoin avec des options décrites plus loin.

Enfin, on a recherché une compatibilité maximale avec différents ensembles de polices mathématiques existants.

\subsection{Polices de texte}

\begin{itemize}
  \item Les codages \textsc{t1, ot1} et \textsc {ts1} sont disponibles complètement à une petite exception près pour le symbole \verb+\SS+ en majuscule dans les polices de type machine à écrire;
  \item Les polices romaines sont disponibles droites, en petites majuscules, italiques et penchées en normal, gras et gras étendu;
  \item Les polices sans-serif sont disponibles droites, en petites majuscules et penchées en normal, gras et gras étendu;
  \item Les polices télétypes sont disponibles droites et penchées, en normal et gras.
\end{itemize}

\begin{center}\itshape
La graisse par défaut est \textbf{bold}, et non pas \textbf{bold extended}.
\end{center}

\subsection{Polices mathématiques}

\begin{itemize}
	\item La commande \verb+\boldmath+ est complètement implantée et Kp-Fonts \textbf{ne nécessite pas} la commande \verb=\bm=;
	\item On dispose de polices grecques droites $\alphaup\betaup\gammaup\Gamma\Delta$ et penchées $\alpha\beta\gamma\Gammasl\Deltasl$;
	\item La commande \verb=\mathbb= fournit $\mathbb{ABC}$, caractères dessinés à partir des majuscules de texte;  
	\item La commande \verb=\mathcal= fournit $\mathcal{ABC}$, version légèrement modifiée des polices \textsc{cm};
	\item La commande \verb=\mathscr= fournit $\mathscr{AB}\,\mathscr{C}$, sans aucun package supplémentaire; ces caractères ont été dessinés à partir de polices traditionnelles;
	\item La commande \verb=\mathfrak= fournit $\mathfrak{ABCabc}$, toujours à partir de polices traditionnelles redessinées pour être plus lisibles.
\end{itemize}

\section{Options}

\subsection{Options globales}

\begin{description}
	\item[nomath :] Kp-Fonts ne modifie pas les polices les polices mathématiques par défaut;
	\item[notext :] Kp-Fonts ne modifie pas les polices de texte par défaut.
\end{description}

Et si vous utilisez ces deux options, Kp-Fonts ne fait rien\dots

\subsection{Options des polices de texte}

\begin{description}
	\item[nosf :] Kp-Fonts ne modifie pas les polices sans-serif par défaut;
	\item[nott :] Kp-Fonts ne modifie pas les polices machine à écrire par défaut.
\end{description}

Notez que ces options n'affectent que les polices de texte.

\subsection{Lettres grecques en mode mathématique}

\begin{description}
	\item[uprightgreeks :] les \textit{minuscules} grecques sont droites, $\alphaup\betaup\gammaup$;
	\item[slantedGreeks :] les \textit{Majuscules} grecques sont penchées, $\Gammasl\Deltasl$. 
\end{description}

\subsection{Options des polices mathématiques}

\begin{description}
	\item[nomathscript :] Kp-Fonts ne crée pas la commande \verb=\mathscr=;
	\item[mathcalasscript :] cette option échange les polices \verb=\mathcal= et \verb=\mathscr= ;
	\item[classicReIm :] les commandes \verb=\Re= et \verb=\Im= donnent comme habituellement $\mathfrak{R}$ et  $\mathfrak{I}$. Par défaut, Kp-Fonts donne $\Re$ et $\Im$;
	\item[uprightRoman :] les \textit{Majuscules} romaines sont droites.
	\item[frenchstyle :] équivaut aux options \texttt{\textbf{uprightRoman}} et \texttt{\textbf{uprightgreeks}}, les majuscules romaines et les minuscules grecques sont droites, selon la tradition typographique française; les minuscules romaines restent obliques;
	\item[upright :] synonyme de la précédente.
\end{description}

\section{Utilisation}

\subsection{Accès aux caractères grecs}

On a vu les deux options qui permettent de modifier les caractères grecs utilisés par défaut. 

Par ailleurs, on peut toujours accéder aux autres caractères grecs par les commandes \verb=\otheralpha=, \verb=\otherGamma=. Le résultat dépend ici des options utilisées.

Pour les majuscules, on dispose aussi des commandes du type \verb=\varGamma= qui sont synonymes des précédentes.

Enfin, les commandes comme \verb=\alphasl=, \verb=\alphaup=, \verb=\Gammaup= ou \verb=\Gammasl= permettent toujours d'obtenir le caractère désiré quelle que soit l'option utilisée.

\subsection{Symboles standards}

Tous les symboles standards sont présents, y compris tous ceux du package \texttt{amssymb}, en graisse normale et grasse.

Par exemple:\quad $\leq\quad\bullet\quad\pm$\quad pour les symboles standards ou \quad$\twoheadrightarrow\quad\subsetneq\quad\leqslant$\quad pour les symboles de l\textsc{'ams}.

\mathversion{bold}
et aussi en gras:\quad$\leq\quad\bullet\quad\pm$\quad ou \quad$\twoheadrightarrow\quad\subsetneq\quad\leqslant$.
\mathversion{normal}

On a bien sûr aussi les constructions habituelles en normal ou gras: \quad $\mapsto\longmapsto$,\quad
\mathversion{bold}$\mapsto\longmapsto$\mathversion{normal}

\subsection{Symboles supplémentaires}

Kp-Fonts propose de nombreux symboles ou constructions supplémentaires. 

On a aussi de nombreuses négations non reportées ici.

%\mathversion{bold}

\begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}}

\verb=\mappedfrom=&\mappedfrom&\verb=\longmappedfrom=&\longmappedfrom\\
\verb=\Mapsto=&\Mapsto&\verb=\Longmapsto=&\Longmapsto\\
\verb=\Mappedfrom=&\Mappedfrom&\verb=\Longmappedfrom=&\Longmappedfrom\\
\verb=\mmapsto=&\mmapsto&\verb=\longmmapsto=&\longmmapsto\\
\verb=\mmappedfrom=&\mmappedfrom&\verb=\longmmappedfrom=&\longmmappedfrom\\
\verb=\Mmapsto=&\Mmapsto&\verb=\Longmmapsto=&\Longmmapsto\\
\verb=\Mmappedfrom=&\Mmappedfrom&\verb=\Longmmappedfrom=&\Longmmappedfrom\\
\verb=\dashleftarrow=&\dashleftarrow&\verb=\dashrightarrow=&\dashrightarrow\\
\verb=\dashleftrightarrow=&\dashleftrightarrow&\verb=\leftsquigarrow=&\leftsquigarrow\\
\verb=\Nearrow=&\Nearrow&\verb=\Searrow=&\Searrow\\
\verb=\Nwarrow=&\Nwarrow&\verb=\Swarrow=&\Swarrow\\
\verb=\leadstoext=&\leadstoext&\verb=\leadsto=&\leadsto\\

\end{tabular}\end{center}

On notera que ces deux derniers symboles se combinent :

\verb=\leadstoext\leadstoext\leadstoext\leadsto=
donne\quad
$\leadstoext\leadstoext\leadstoext\leadsto$

\begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}}

\verb=\boxright=&\boxright&\verb=\Diamondright=&\Diamondright\\
\verb=\circleright=&\circleright&\verb=\boxleft=&\boxleft\\
\verb=\Diamondleft=&\Diamondleft&\verb=\circleleft=&\circleleft\\
\verb=\boxdotright=&\boxdotright&\verb=\Diamonddotright=&\Diamonddotright\\
\verb=\circleddotright=&\circleddotright&\verb=\boxdotleft=&\boxdotleft\\
\verb=\Diamonddotleft=&\Diamonddotleft&\verb=\circleddotleft=&\circleddotleft\\
\verb=\boxRight=&\boxRight&\verb=\boxLeft=&\boxLeft\\
\verb=\boxdotRight=&\boxdotRight&\verb=\boxdotLeft=&\boxdotLeft\\
\verb=\DiamondRight=&\DiamondRight&\verb=\DiamondLeft=&\DiamondLeft\\
\verb=\DiamonddotRight=&\DiamonddotRight&\verb=\DiamonddotLeft=&\DiamonddotLeft\\

\end{tabular}\end{center}

\begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}}

\verb=\multimap=&\multimap&\verb=\multimapinv=&\multimapinv\\
\verb=\multimapboth=&\multimapboth&\verb=\multimapdot=&\multimapdot\\
\verb=\multimapdotinv=&\multimapdotinv&\verb=\multimapdotboth=&\multimapdotboth\\
\verb=\multimapdotbothA=&\multimapdotbothA&\verb=\multimapdotbothB=&\multimapdotbothB\\
\verb=\multimapbothvert=&\multimapbothvert&\verb=\multimapdotbothvert=&\multimapdotbothvert\\
\verb=\multimapdotbothAvert=&\multimapdotbothAvert&\verb=\multimapdotbothBvert=&\multimapdotbothBvert\\

\end{tabular}\end{center}

\begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}|r>{$}c<{$}}

\verb=\Wr=&\Wr&\verb=\sqcupplus=&\sqcupplus&\verb=\sqcapplus=&\sqcapplus\\
\verb=\medcirc=&\medcirc&\verb=\medbullet=&\medbullet&\verb=\doteq=&\doteq\\
\verb=\VDash=&\VDash&\verb=\VvDash=&\VvDash&
\verb=\cong=&\cong\\
\verb=\preceqq=&\preceqq&
\verb=\succeqq=&\succeqq&\verb=\coloneqq=&\coloneqq\\
\verb=\varparallel=&\varparallel&\verb=\varparallelinv=&\varparallelinv&\verb=\colonapprox=&\colonapprox\\
\verb=\colonsim=&\colonsim&\verb=\Colonapprox=&\Colonapprox&\verb=\Colonsim=&\Colonsim\\
\verb=\eqqcolon=&\eqqcolon&\verb=\coloneq=&\coloneq&\verb=\eqcolon=&\eqcolon\\
\verb=\Coloneqq=&\Coloneqq&
\verb=\Eqqcolon=&\Eqqcolon&\verb=\invamp=&\invamp\\
\verb=\Diamonddot=&\Diamonddot&\verb=\Diamond=&\Diamond&\verb=\Diamondblack=&\Diamondblack\\
\verb=\strictif=&\strictif&\verb=\strictfi=&\strictfi&\verb=\strictiff=&\strictiff\\
\verb=\circledless=&\circledless&\verb=\circledgtr=&\circledgtr&\verb=\circledwedge=&\circledwedge\\
\verb=\circledvee=&\circledvee&\verb=\circledbar=&\circledbar&\verb=\circledbslash=&\circledbslash\\
\verb=\lJoin=&\lJoin&\verb=\rJoin=&\rJoin&\verb=\Join=&\Join\\
\verb=\openJoin=&\openJoin&\verb=\lrtimes=&\lrtimes&\verb=\opentimes=&\opentimes\\
\verb=\Lbag=&\Lbag&\verb=\Rbag=&\Rbag&\verb=\nplus=&\nplus\\
\verb=\Top=&\Top&\verb=\Bot=&\Bot&\verb=\Perp=&\Perp\\
\verb=\boxast=&\boxast&\verb=\boxbslash=&\boxbslash&\verb=\boxbar=&\boxbar\\
\verb=\boxslash=&\boxslash&\verb=\lambdaslash=&\lambdaslash&\verb=\lambdabar=&\lambdabar\\
\verb=\varclubsuit=&\varclubsuit&\verb=\vardiamondsuit=&\vardiamondsuit&\verb=\varheartsuit=&\varheartsuit\\
\verb=\varspadesuit=&\varspadesuit&\verb=\llbracket=&\llbracket&\verb=\rrbracket=&\rrbracket\\

\end{tabular}\end{center}

\verb=\lbag=, \verb=\rbag=, \verb=\llbracket= et \verb=\rrbracket= sont verticalement extensibles.

\subsection{Variantes des symboles d'intégration}

On peut remarquer que, quand on écrit une primitive, le résultat manque souvent d'élégance car la fonction est souvent placée trop loin du signe d'intégration.

Ce qu'on peut voir ici :

\[\int f(t)\,\mathrm{d}t\]

Kp-Fonts possède des instructions supplémentaires pour éviter cela. La première est la commande \verb=\varint= qui donne :

\[\varint f(t)\,\mathrm{d}t\]

Chacun peut ainsi choisir la forme qui lui convient le mieux !

Bien sûr, cette commande ne convient pas quand on calcule une intégrale\dots

Cette commande fonctionne aussi en mode texte.

Les autres commandes disponibles sont :
\verb=\variint=, \verb=\variiint=, \verb=\variiiint= et \verb=\varidotsint=.

\subsection{Grands symboles supplémentaires}

Notons d'abord que les commandes \verb=\widehat= et \verb=\widetilde= ont été étendues :
\[\widetilde{tilde}\qquad\widehat{chapeau}\]

Notons les quelques commandes supplémentaires :

\renewcommand{\arraystretch}{1.8}

\begin{center}\begin{tabular}{r>{$}c<{$}>{$\displaystyle}c<{$}|r>{$}c<{$}>{$\displaystyle}c<{$}}

\verb=\bignplus=&\bignplus&\bignplus&\verb=\bigsqcupplus=&\bigsqcupplus&\bigsqcupplus\\
\verb=\bigsqcapplus=&\bigsqcapplus&\bigsqcapplus&\verb=\bigsqcap=&\bigsqcap&\bigsqcap\\
\verb=\varprod=&\varprod&\varprod&\\

\end{tabular}\end{center}


\subsection{Symboles d'intégration supplémentaires}

Il existe de nombreux signes d'intégration supplémentaires :

\renewcommand{\arraystretch}{2}

\begin{center}
\begin{tabular}{r>{$}c<{$}c|r>{$}c<{$}c} 
\verb+\oiint+ &\oiint& $\displaystyle\oiint$ & 
\verb+\ointctrclockwise+ &\ointctrclockwise& $\displaystyle\ointctrclockwise$  \\
\verb+\ointclockwise+ &\ointclockwise& $\displaystyle\ointclockwise$ & 
\verb+\sqint+ &\sqint& $\displaystyle\sqint$ \\
\verb+\idotsint+ &\idotsint& $\displaystyle\idotsint$ & 
\verb+\oiiint+ &\oiiint& $\displaystyle\oiiint$ \\ 
\verb+\varointctrclockwise+ &\varointctrclockwise& $\displaystyle\varointctrclockwise$ & \verb+\varointclockwise+ &\varointclockwise& $\displaystyle\varointclockwise$ \\
\verb+\fint+ &\fint& $\displaystyle\fint$ & 
\verb+\oiintctrclockwise+ &\oiintctrclockwise& $\displaystyle\oiintctrclockwise$ \\ 
\verb+\varoiintclockwise+ &\varoiintclockwise& $\displaystyle\varoiintclockwise$ &
\verb+\oiintclockwise+ &\oiintclockwise& $\displaystyle\oiintclockwise$ \\ 
\verb+\varoiintctrclockwise+ &\varoiintctrclockwise& $\displaystyle\varoiintctrclockwise$ & \verb+\oiiintctrclockwise+ &\oiiintctrclockwise& $\displaystyle\oiiintctrclockwise$ \\
\verb+\varoiiintctrclockwise+ &\varoiiintctrclockwise& $\displaystyle\varoiiintctrclockwise$ & 
\verb+\sqiint+ &\sqiint& $\displaystyle\sqiint$ \\ 
\verb+\sqiiint+ &\sqiiint& $\displaystyle\sqiiint$ \\
\end{tabular}
\end{center}

\section{Installation}

Le dossier \texttt{kpfonts} fourni respecte l'arborescence \textsc{tds} standard. Vous devez d'abord recopier tous ces fichiers dans une de vos arborescences \texttt{texmf} en accord avec votre organisation de fichiers puis mettre à jour votre base de données (\texttt{mktexlsr} ou, avec MikteX, par le menu Miktex-Options).

Il faut maintenant s'occuper du fichier  \texttt{.map}
Si vous avez une distribution récente respectant les spécifications \texttt{web2c}, il vous suffit d'éxécuter \texttt{udpmap}.

	\begin{verbatim}
	udpmap --enable Map=kpfonts.map
	\end{verbatim}

Si ceci ne marche pas, il suffit chercher les fichers \texttt{psfonts.map} et \texttt{pdftex.map}. Ensuite, ajouter le contenu de \texttt{kpfonts.map} dans chacun d'entre eux et sauver les \dots{} dans le même répertoire !

Sous MikTeX, le plus simple de faire la même chose avec le ou les fichiers :
\verb=texmf/pdftex/config/psfonts.map=, ou, \verb=texmf/dvips/config/psfonts.map= selon ce qu'on utilise.

\section{Quelques petits compléments}

\subsection{Affichage et impression}

Comme souvent, il peut exister des problèmes d'affichage ou d'impression\dots

Les problèmes d'affichage sont dus à un \og hinting \fg{} automatique. Je ne suis pas typographe professionnel et je ne sais pas intervenir là dessus ;
les problèmes d'impression peuvent se poser avec des versions anciennes d'\textit{Acroread}\textregistered{} sous \textit{Windows}\textregistered.

Signalons que l'impression est meilleure sous \textit{Ghostscript-Ghostview}\textregistered\dots

\subsection{\'Evolution prévue}

Il est prévu une option \texttt{oldstyle} avec les vieilles ligatures française \og ct \fg{} et \og st \fg{}. Quand j'aurai le temps\dots

Par ailleurs, si vous avez besoin d'un symbole supplémentaire, n'hésitez pas à me contacter, je ferai de mon mieux.

\subsection{\textsc{Johannes Kepler 1571-1630}}

Vers 1600, \textsc{Kepler} est obligé de fuir à Prague suite aux persécutions religieuses de la contre-réforme, en effet il était luthérien. Il rejoint l'observatoire de l'astronome danois \textsc{Tycho Brahe}. Mais celui-ci meurt en 1601, lui laissant  l'usage de ses archives. En analysant méthodiquement, et sans a-priori, ces données, il établit les deux premières lois du mouvement planétaire qui ont immortalisé son nom (1609) ; lois qu'il vérifia par d'autres observations. Il fut ainsi un précuseur de la méthode scientifique.

\subsection{Dernière remarque}

Notons que \textit{Kepler}\textregistered{} est un nom déposé de police distribué par \textit{Adobe}\texttrademark. Les polices de Kp-Fonts n'ont rien à voir avec celles-ci.

Kp-Fonts est distribuée sous licence \textsc{gpl}.

\subsection{Remerciements}

Je tiens à remercier pour leur aide et leur soutien
\begin{itemize}
	\item \textsc{Nicolas Boulenguez} (Tests);
	\item \textsc{Michel Bovani} (Polices);
	\item \textsc{Daniel Flipo} (Latex);
	\item \textsc{Souraya Muhidine} (Traduction)
	\item \textsc{Peter Rosenfeld} (\textsc{urw})
\end{itemize}
	
\end{document}