\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}