\documentclass[paper=a4,french]{scrartcl} % Packages \usepackage{graphics, array, varioref} \usepackage[svgnames]{xcolor} \usepackage{shortvrb} \usepackage{kpfonts-otf} \setmonofont{KpMono}[Color=DarkBlue] % Pour les démos : \setmathfont{KpMath-Regular.otf}[version=full, CharacterVariant=3, StylisticSet={1,2,3,4,5,6,7}] \setmathfont{KpMath-Regular.otf}[version=base, CharacterVariant=3] \setmathfont{KpMath-Light.otf}[version=light, CharacterVariant=3] \setmathfont{KpMath-Bold.otf}[version=bold, Style=leqslant, CharacterVariant=3] \setmathfont{KpMath-Sans.otf}[version=sans, Style=leqslant, CharacterVariant=3] \usepackage{babel} \frenchsetup{og=«, fg=»,%ListItemsAsPar } \usepackage{realscripts} \usepackage{microtype} \usepackage{hyperref} \hypersetup{pdfcreator={LuaTeX}, pdfauthor={Daniel FLIPO}, unicode, colorlinks, urlcolor=DarkBlue, linkcolor=Blue, } % Mise en page %\setlength{\parindent}{0pt} %\renewcommand{\arraystretch}{1.3} \MakeShortVerb{\|} \newcommand*{\textsb}[1]{{\Semibold #1}} \newcommand*{\pkg}[1]{\texttt{#1}} \newcommand*{\opt}[1]{\texttt{#1}} \newcommand*{\optit}[1]{\textit{\color{DarkBlue}#1}} \newcommand*{\file}[1]{\texttt{#1}} \newcommand*{\style}[1]{\textsf{\textbf{#1}}} \newcommand*{\cmd}[1]{\texttt{\textbackslash #1}} \newcommand*{\family}[1]{\textsb{#1}} \newcommand*{\famvar}[1]{\textit{#1}} \title{Kp-fonts version OpenType} \author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}} \newcommand*{\version}{0.30} \begin{document} \maketitle \thispagestyle{empty} \begin{abstract} Le but de ce travail est de proposer une version OpenType des polices Kp-fonts dessinées par Christophe Caignaert au format type1. Pour une présentation complète de celles-ci, on pourra consulter la documentation originale \file{Kpfonts-Doc-French.pdf}. La présente distribution, utilisable uniquement avec LuaTeX ou XeTeX, contient seize polices OpenType de texte, une famille romaine \family{KpRoman} en huit déclinaisons ---~\famvar{Regular}, \famvar{Italic}, \famvar{Bold}, \famvar{Bold\-Italic}, \famvar{Light}, \famvar{Light\-Italic}, \famvar{Semi\-bold}, \famvar{Semibold\-Italic}~---, une famille sans-serif \family{KpSans} et une à espacement fixe \family{KpMono} chacune en quatre déclinaisons ---~\famvar{Regular}, \famvar{Italic}, \famvar{Bold} et \famvar{Bold\-Italic}~--- et cinq polices mathématiques \family{KpMath-Regular}, \family{KpMath-Bold}, \family{KpMath-Light}, \family{KpMath-Semibold} et \family{KpMath-Sans}. Les familles \family{KpRoman} et \family{KpSans} ont de vraies petites capitales en deux tailles (\textpsc{normale} et \textlsc{grande}), des chiffres elzéviriens ({\addfontfeatures{Numbers=Lowercase} 0123456789}) et offrent des ligatures anciennes comme {\addfontfeatures{Ligatures=Rare} ct, st} et le {\addfontfeatures{Style=Swash}Q} long. Les chiffres et lettres supérieures et inférieures ont été ajoutées aux polices OpenType pour les appels de notes et les abréviations M\up{me} 1\ier, etc. Les cinq polices mathématiques disposent les lettres latines et grecques droites, italiques, grasses droites et grasses italiques : $\symup{a}$ $\symup{\beta}$ $\symup{C}$ $\symup{\Delta}$, $\symit{a}$ $\symit{\beta}$ $\symit{C}$ $\symit{\Delta}$, $\symbfup{a}$ $\symbfup{\beta}$ $\symbfup{C}$ $\symbfup{\Delta}$, $\symbfit{a}$ $\symbfit{\beta}$ $\symbfit{C}$ $\symbfit{\Delta}$. la commande |\mathbb{ABC}| affiche au choix \mathversion{full}$\mathbb{ABC}$ (option |Style=bbsans|) ou \mathversion{base} $\mathbb{ABC}$ par défaut, %%% \mathcal = \mathscr (pas de diff. même pour STIX2Math) les commandes |\mathcal{ABC}| et |\mathscr{ABC}| affichent $\mathscr{ABC}$ par défaut ou \mathversion{full}$\mathscr{ABC}$ avec l’option |Style=mathcal|, \mathversion{base} tandis que la commande |\mathfrak{ABCabc}| affiche $\mathfrak{ABCabc}$. La liste complète des symboles mathématiques présents dans Unicode et disponibles dans les polices \family{KpMath} est présentée dans le fichier \file{unimath-kpfonts.pdf}. Des symboles supplémentaires sont également disponibles, ils sont présentés à la section~\ref{ssec:symb-spec-kp}. La distribution est accompagnée d’un fichier \file{kpfont-otf.sty} destiné à faciliter la transition, certaines options de la version originale ont été reprises, d’autres ont été abandonnées… Veuillez noter que la présente version (\version) est \emph{expérimentale}. \enlargethispage*{2\baselineskip} La distribution est proposée sous license OFL pour les polices et LPPL-1.3 pour les fichiers LaTeX. \end{abstract} \newpage \section{Chargement par \pkg{kpfonts-otf.sty}} Les utilisateurs de la version originale des Kp-fonts préfèreront probablement charger \pkg{kpfonts-otf.sty} comme ceci :\\[.5\baselineskip] |\usepackage[ |\optit{options}| ]{kpfonts-otf}|\\[.5\baselineskip] ceci charge \pkg{unicode-math} et donc \pkg{fontspec} et définit \family{KpRoman} (\family{Regular} ou \family{Light} selon les options), \family{KpSans} et \family{KpMono} comme polices de texte et \family{KpMath} (\family{Regular} ou \family{Light} selon les options) comme police mathématique. En plus, tous les symboles disponibles dans \pkg{latexsym} et \pkg{amssymb} sont définis sous les mêmes noms dans \pkg{kpfonts-otf.sty}% \footnote{Les noms Unicode officiels diffèrent souvent.} ainsi qu’un certain nombre de symboles et de commandes spécifiques à Kp-fonts. \subsection{Options globales affectant texte et maths} \begin{description} \item[light :] pour utiliser la version \famvar{light} des polices. Les métriques sont inchangées. L'affichage n'est pas très bon, au contraire de l'impression si vous aimez les polices fines. Ce texte est composé avec les polices par défaut, vous pourrez comparer ci-dessous les versions \famvar{regular} (à gauche) et \famvar{light} (à droite) : \newcommand{\test}{Normal ou léger ? tous les goûts sont dans la nature…} \medskip \begin{minipage}{.45\textwidth}\test{} $E=mc^2$\end{minipage}\hfill \begin{minipage}{.45\textwidth}\Light \test{} \mathversion{light}$E=mc^2$ \end{minipage} \medskip\mathversion{base} \begin{minipage}{.45\textwidth}\itshape \test\end{minipage}\hfill \begin{minipage}{.45\textwidth}\LightItalic \test\end{minipage} \medskip \begin{minipage}{.45\textwidth}\bfseries \test\end{minipage}\hfill \begin{minipage}{.45\textwidth}\Semibold \test\end{minipage} \medskip \begin{minipage}{.45\textwidth}\bfseries\itshape \test\end{minipage}\hfill \begin{minipage}{.45\textwidth}\SemiboldItalic \test\end{minipage} \medskip \item[nomath :] ne charge ni \pkg{unicode-math} ni les fontes \family{KpMath} ; utile pour les documents sans maths ou pour faire appel à d’autres fontes pour les maths. \item[notext :] Kp-fonts ne modifie aucune des polices de texte par défaut. \item[nosf :] Kp-fonts ne modifie pas les polices sans-serif de texte. \item[nott :] Kp-fonts ne modifie pas les polices de texte à chasse fixe. \item[onlyrm :] équivalente aux deux précédentes options. \end{description} \subsection{Options des polices de texte} Notez que ces options n'affectent que les polices de texte. \begin{description} \item[lighttext :] le texte est composé en utilisant les polices « light ». \item[oldstylenums :] Les polices fournissent ici les nombres elzéviriens par défaut. Pour accéder aux nombres usuels : |{\addfontfeature{Numbers=Lining} 123}| (à faire dans un groupe). Quelques exemples en droit et italique, medium et gras : \begin{itemize}\addfontfeatures{Numbers=Lowercase} \item 0123456789 ! \item \textit{0123456789 !} \item \textbf{0123456789 !} \item \textbf{\textit{0123456789 !}} \end{itemize} \item[oldstyle :] Les polices fournissent ici les nombres elzéviriens par défaut, le Q-long ({\addfontfeatures{Style=Swash}Qui ?}), les ligatures anciennes {\addfontfeatures{Ligatures=Rare}« ct » et « st »} (en romain et sans-serif uniquement). Quelques exemples: \begin{itemize}\addfontfeatures{Style=Swash,Ligatures=Rare} \newcommand*{\test}{Quelle police, quelle esthétique actuelle !} \item \test \item \textit{\test} \item \textbf{\test} \item \textsc{\test} \item \textbf{\textit{\test}} \item \textsc{\textbf{\test}} \end{itemize} \item[veryoldstyle :] identique à l'option \opt{oldstyle} sauf que le « s » rond est remplacé par le « {\addfontfeatures{RawFeature=+hist;+hlig}s} » long. sauf en fin de mot, où le « s » reste rond. On peut toujours forcer le « s» rond par la ligature « \texttt{s=} ». Le codage |\textit{« Des espoirs si funestes. »}| donne ceci : {\addfontfeatures{RawFeature=+hist;+hlig;+fina;+calt}% \textit{«Des espoirs si funestes.»}}. \item[largesmallcaps :] produit des petites capitales plus \textlsc{Grandes} que par les \textsc{Petites} obtenues par défaut. \end{description} \subsection{Options des polices mathématiques} \begin{description} \item[lightmath :] les mathématiques sont composées avec les polices « light » ; \item[bbsans :] dans tous les cas, la commande |\mathbb| produit du sans-serif : \mathversion{full} $\mathbb{C}$, $\mathbb{K}$, $\mathbb{N}$, $\mathbb{Q}$, $\mathbb{R}$, $\mathbb{Z}$, à comparer à \mathversion{base} $\mathbb{C}$, $\mathbb{K}$, $\mathbb{N}$, $\mathbb{Q}$, $\mathbb{R}$, $\mathbb{Z}$ ; \item[mathcal :] cette option modifie l’effet des commandes |\mathcal| et |\mathscr|, elles produisent toutes les deux %%% Même avec STIX2Math, je ne peux pas avoir les deux !!! BUG ? \mathversion{full}$\mathcal{ABCD}$ % $\mathscr{ABCD}$ alors que par défaut \mathversion{base} on a $\mathcal{ABCD}$ ; \item[frenchstyle :] les majuscules romaines et toutes les lettres grecques (majuscules ou minuscules) sont droites, selon la tradition typographique française, seules les minuscules romaines restent obliques ; \item[oldstylenumsmath :] fournit les nombres elzéviriens en mode mathématique ; \item[narrowiints :] fournit des intégrales multiples plus étroites, plus « françaises » : \mathversion{full}$\iiint$ et $\displaystyle\iiint$ \quad au lieu de\quad \mathversion{base}$\iiint$ et $\displaystyle\iiint$ \item[partialup :] le symbole |\partial| affiche $\symup{\partial}$ (droit) au lieu de $\partial$ ; \enlargethispage*{\baselineskip} \item[fancyReIm :] les commandes |\Re| et |\Im| donnent normalement $\Re$ et $\Im$, avec cette option elles produisent respectivement $\RE$ et $\IM$ ; \item[noDcommand :] pour éviter tout risque d’incompatibilité, la commande |\D| n'est pas définie. \end{description} \section{Autre façon de charger les Kp-fonts} \label{sec:options-standard} Lorsqu’on charge les Kp-fonts comme indiqué à la section précédente en utilisant \file{kpfonts-otf.sty}, le choix des options reste assez limité. Certains préféreront probablement utiliser directement les commandes \cmd{setmainfont}, \cmd{setsansfont}, \cmd{setmonofont}, \cmd{setmathfont} pour avoir accès à toutes leurs options. Parmi eux, ceux qui voudraient bénéficier des définitions de symboles mathématiques faites dans \pkg{kpfonts-otf}, peuvent charger celui-ci avec l’option \opt{symbols} qui permet d’accéder à toutes ces définitions \emph{sans charger aucune fonte} : \begin{verbatim} \usepackage[symbols]{kpfonts-otf} \end{verbatim} Noter que dans ce cas, \pkg{unicode-math}% \footnote{Une lecture attentive des manuels \file{unicode-math.pdf} et \file{fonspec.pdf} (disponibles dans toutes les distributions TeX) est indispensable pour bien maîtriser leur utilisation.} (et \pkg{fontspec}) \emph{sont chargés} par \pkg{kpfonts-otf}, inutile donc de les (re)charger, sauf à le faire \emph{avant} l’appel à \pkg{kpfonts-otf} pour leur passer des options, par exemple : \begin{verbatim} \usepackage[math-style=ISO,bold-style=upright]{unicode-math} \usepackage[symbols]{kpfonts-otf} \end{verbatim} L’utilisateur choisit ensuite librement ses polices de texte romaine, sans-serif et à chasse fixe ainsi que la police mathématique en utilisant la syntaxe classique\\[.5\baselineskip] |\set...font{|\optit{nom-fonte}|}[|\optit{options}|]|. Ceux qui veulent utiliser les KP-fonts pour des documents sans maths, peuvent évidemment charger uniquement \pkg{fontspec} et faire appel aux commandes ci-dessus. \subsection{Options des polices de texte} Pour les polices de texte de Kp-fonts les options suivantes sont proposées : \begin{description} \item[Numbers=Lowercase :] pour avoir les chiffres minuscules ou elzéviriens {\addfontfeature{Numbers=Lowercase} 1,2,3} ou \style{Numbers=Lining} (par défaut 1,2,3) ; \item[SmallCapsFeatures = \{Letters=SmallCaps\} :] pour que la commande |\textsc{}| affiche les \textlsc{Grandes} petites capitales à la place des \textpsc{Petites} obtenues par défaut (option \style{SmallCapsFeatures = \{Letters=PetiteCaps\}}% \footnote{Accolades indispensables à cause du signe \texttt{=} !}) ; \item[Ligatures=TeX :] (par défaut) |!`|\quad|?`|\quad|--|\quad |---| affichent respectivement\quad !` \quad ?` -- et --- ; \item[Ligatures=Common :] (par défaut) ligatures automatiques ff ffi ffl fi fl ; \item[Ligatures=Rare :] ligatures {\addfontfeature{Ligatures=Rare} ct et st} ; \item[Style=Swash :] pour le {\addfontfeature{Style=Swash}Q long également en petites et grandes capitales \textpsc{Que} et \textlsc{Que}} ; \item[Style=Historic :] pour remplacer systématiquement le « s » rond par un {\addfontfeature{Style=Historic}« s »} long, sauf en fin de mot comme le veut l’usage ; il est toujours possible de forcer un « s » rond en codant |s=| ; \item[Ligatures=Historic :] active les ligatures spécifiques au {\addfontfeature{Style=Historic,Ligatures=Historic}« s » long si, sl, st}. \end{description} Le choix parmi ces options se fait normalement globalement pour tout le document, police par police éventuellement, exemple : \begin{verbatim} \setmonofont{KpMono}[Numbers=Lowercase,Style=Historic] \end{verbatim} mais si les options sont communes à plusieurs polices on peut ne les énoncer qu’une fois en procédant de la façon suivante : \begin{verbatim} \defaultfontfeatures+[KpRoman,KpSans,KpMono]{Numbers=Lowercase} \defaultfontfeatures+[KpRoman,KpSans]{% Ligatures = Rare, Style = Swash, SmallCapsFeatures = {Letters=SmallCaps}, } \setmainfont{KpRoman} \setsansfont{KpSans} \setmonofont{KpMono} \end{verbatim} Remarques : 1. Les commandes |\setmonofont{KpMono}|, |\setsansfont{KpSans}| et |\setmainfont{KpRoman}| fonctionnent parce que la distribution Kp-fonts est fournie avec des fichiers \file{KpMono.fontspec}, \file{KpSans.fontspec} et \file{KpRoman.fontspec}. 2. Noter le |+| après |\defaultfontfeatures| : les options sont \emph{ajoutées} au options par défaut. 3. On peut regrouper des options : |Ligatures={Rare,Historic}| (avec accolades) équivaut aux deux options |Ligatures=Rare| et |Ligatures=Historic|. 4. Il est possible de modifier une option \emph{localement}, ainsi pour afficher les chiffres elzéviriens {\addfontfeatures{Numbers=Lowercase} 1234576890} alors que l’option globale est |Numbers=Lining|, on utilise la commande |\addfontfeatures| dans un groupe : \begin{verbatim} {\addfontfeatures{Numbers=Lowercase}1234576890} \end{verbatim} \subsection{Options des polices mathématiques} Les options suivantes peuvent être passées à \pkg{unicode-math}% \footnote{Voir la documentation \file{unicode-math.pdf}.} ou à la commande |\setmathfont{}| : \begin{description} \item[math-style =] \opt{ISO}, \opt{TeX} (défaut), \opt{french}, \opt{upright} ; \item[bold-style =] \opt{ISO}, \opt{TeX} (défaut), \opt{upright} ; \item[partial =] \opt{upright} (italique par défaut) ; \item[nabla =] \opt{italic} (droit par défaut) ; \end{description} Les variantes de style affectent chacune une famille de glyphes, voici les trois premières : \begin{description} \item[Style=mathcal] (\texttt{+ss01}) les commandes |\mathcal{}| et |\mathscr{}| produisent \mathversion{full}$\mathcal{ABC}$ au lieu de \mathversion{base}$\mathcal{ABC}$ ; \item[Style=bbsans] (\texttt{+ss02}) les glyphes produits par la commande |\mathbb{}| sont en sans-serif \mathversion{full}$\mathbb{ABC}$ au lieu de \mathversion{base}$\mathbb{ABC}$ ; \item[Style=narrowiints] (\texttt{+ss03}) les intégrales multiples sont plus compactes : \mathversion{full}$\iiint$ au lieu de \mathversion{base}$\iiint$. \end{description} Les quatre tables suivantes recensent les autres variantes de style proposées. \begin{table}[ht] {\centering \caption{Style=leqslant (\texttt{+ss04})} \label{ss04} \begin{tabular}{@{}lcc@{}} \hline Commande & Base & Variante \\ \hline \cmd{leq} & $\leq$ & $\leqslant$ \\ \cmd{geq} & $\geq$ & $\geqslant$ \\ \cmd{nleq} & $\nleq$ & $\nleqslant$ \\ \cmd{ngeq} & $\ngeq$ & $\ngeqslant$ \\ \cmd{leqq} & $\leqq$ & $\leqqslant$ \\ \cmd{geqq} & $\geqq$ & $\geqqslant$ \\ \cmd{eqless} & $\eqless$ & $\eqslantless$ \\ \cmd{eqgtr} & $\eqgtr$ & $\eqslantgtr$ \\ \hline \end{tabular}\par} \end{table} \begin{table}[ht] \centering \caption{Style=smaller (\texttt{+ss05})} \label{ss05} \begin{tabular}{@{}lcc@{}} \hline Commande & Base & Variante \\ \hline \cmd{mid} & $\mid$ & $\shortmid$ \\ \cmd{nmid} & $\nmid$ & $\nshortmid$ \\ \cmd{parallel} & $\parallel$ & $\shortparallel$ \\ \cmd{nparallel} & $\nparallel$ & $\nshortparallel$ \\ \hline \end{tabular} \end{table} \begin{table}[ht] \centering \caption{Style=subsetneq (\texttt{+ss06})} \label{ss06} \begin{tabular}{@{}lcc@{}} \hline Commande & Base & Variante \\ \hline \cmd{subsetneq} & $\subsetneq$ & $\varsubsetneq$ \\ \cmd{supsetneq} & $\supsetneq$ & $\varsupsetneq$ \\ \cmd{subsetneqq} & $\subsetneqq$ & $\varsubsetneqq$ \\ \cmd{supsetneqq} & $\supsetneqq$ & $\varsupsetneqq$ \\ \hline \end{tabular} \end{table} \begin{table}[ht] {\centering \caption{Style=parallelslant (\texttt{+ss07})} \label{ss07} \begin{tabular}{@{}lcc@{}} \hline Commande & Base & Variante \\ \hline \cmd{parallel} & $\parallel$ & $\parallelslant$ \\ \cmd{nparallel} & $\nparallel$ & $\nparallelslant$ \\ \hline \end{tabular}\par} \vspace{\baselineskip} Exemple : pour activer les styles 4 (leqslant) et 6 (subsetneq) on code\\ |\setmathfont{KpMath-Regular.otf}[StylisticSet={4,6}]|\quad ou bien\\ |\setmathfont{KpMath-Regular.otf}[Style={leqslant,subsetneq}]| \end{table} \vspace{\baselineskip} La table~\vref{cv} recense les variantes de glyphes proposées : \begin{table}[ht] \centering \caption{Variantes de glyphe} \label{cv} \begin{tabular}{@{}>{\ttfamily}lccl@{}} \hline & Base & Variante & Commande\\ \hline cv00 & $\Re\quad\Im$ & $\RE\quad\IM$ & \cmd{Re}\quad\cmd{Im}\\ cv01 & $\hslash$ & $\mithbar$ & \cmd{hslash} ou \cmd{hbar} \\ cv02 & $\emptyset$ & $\varemptyset$ & \cmd{emptyset} \\ cv03 & $\mitepsilon$ & $\mitvarepsilon$ & \cmd{epsilon} \\ cv04 & $\mitkappa$ & $\mitvarkappa$ & \cmd{kappa} \\ cv05 & $\mitpi$ & $\mitvarpi$ & \cmd{pi} \\ cv06 & $\mitphi$ & $\mitvarphi$ & \cmd{phi} \\ cv07 & $\mitrho$ & $\mitvarrho$ & \cmd{rho} \\ cv08 & $\mitsigma$ & $\mitvarsigma$ & \cmd{sigma} \\ cv09 & $\mittheta$ & $\mitvartheta$ & \cmd{theta} \\ cv10 & $\mitTheta$ & $\mitvarTheta$ & \cmd{Theta}\\ \hline \end{tabular} \end{table} \vspace{\baselineskip} Exemple : |\setmathfont{KpMath-Regular.otf}[CharacterVariant={3,6}]|\\ fera en sorte que les commandes |\epsilon| et |\phi| produisent $\mitvarepsilon$ et $\mitvarphi$ plutôt que $\mitepsilon$ et $\mitphi$. Ceci vaut pour toutes les formes et graisses (droit, italique, gras, gras italique, sans-serif, etc.), ainsi avec l’option \opt{math-syle=french}, |\epsilon| et |\phi| produisent $\mupvarepsilon$ and $\mupvarphi$. Note sur \cmd{hbar} : pour \pkg{unicode-math} les commandes \cmd{hbar} et \cmd{hslash} affichent le même caractère Unicode U+210F tandis que \pkg{amsmath} choisit deux définitions différentes pour ces commandes (un h italique avec une barre horizontale ou oblique).\\ \pkg{kpfonts-otf} suit \pkg{unicode-math}, le h italique avec barre horizontale peut être obtenu grâce à la variante \texttt{cv01} (code \cmd{hslash} ou \cmd{hbar}) ou directement en codant \cmd{mithbar}. \section{Commandes spécifiques à Kp-fonts} \subsection{Variantes des symboles d'intégration} Kp-fonts propose des variantes des signes intégrales spécialement adaptées à la présentation des primitives, elles se codent |\varint|, |\variint|, |\variiint|, |\variiiint| et |\varidotsint|. Comparer $\int f(t)\,dt$ et $\varint f(t)\,dt$ et aussi \[\int f(t)\,dt \qquad\text{et}\qquad\varint f(t)\,dt\] On peut les coupler à la commande |\D{...}|, qui affiche un « d » droit et optimise les espacements : |\displaystyle\varint f(t)\D{t}| donne $\displaystyle\varint f(t)\D{t}$. \subsection{Symboles spécifiques} \label{ssec:symb-spec-kp} Rappelons que la liste des symboles Unicode présents dans Kp-fonts est disponible dans le fichier \file{unimath-kpfonts.pdf}. Sauf erreur de ma part les symboles présentés dans les tableaux suivants, n’ont pas de code Unicode, ils sont codés en zone privée pour Kp-fonts. \begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}} \verb=\mmapsto=&\mmapsto&\verb=\longmmapsto=&\longmmapsto\\ \verb=\mmapsfrom=&\mmapsfrom&\verb=\longmmapsfrom=&\longmmapsfrom\\ \verb=\Mmapsto=&\Mmapsto&\verb=\Longmmapsto=&\Longmmapsto\\ \verb=\Mmapsfrom=&\Mmapsfrom&\verb=\Longmmapsfrom=&\Longmmapsfrom\\ \verb=\leftrightdasharrow=&\leftrightdasharrow&\verb=\leadsto=&\leadsto \end{tabular}\end{center} \begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}} \verb=\boxright=&\boxright&\verb=\boxleft=&\boxleft\\ \verb=\circleright=&\circleright&\verb=\circleleft=&\circleleft\\ \verb=\Diamondright=&\Diamondright&\verb=\Diamondleft=&\Diamondleft\\ \verb=\boxdotright=&\boxdotright&\verb=\boxdotleft=&\boxdotleft\\ \verb=\circledotright=&\circledotright&\verb=\circledotleft=&\circledotleft\\ \verb=\Diamonddotright=&\Diamonddotright&\verb=\Diamonddotleft=&\Diamonddotleft \end{tabular}\end{center} \begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}} \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=\multimapdot=&\multimapdot&\verb=\multimapdotinv=&\multimapdotinv\\ \verb=\multimapdotboth=&\multimapdotboth\\ \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=\capplus=&\capplus&\verb=\sqcupplus=&\sqcupplus&\verb=\sqcapplus=&\sqcapplus\\ \verb=\parallelslant=&\parallelslant&\verb=\colonsim=&\colonsim&\verb=\colonapprox=&\colonapprox\\ \verb=\parallelbackslant=&\parallelbackslant&\verb=\Colonsim=&\Colonsim&\verb=\Colonapprox=&\Colonapprox\\ \verb=\eqqColon=&\eqqColon&\verb=\Colondash=&\Colondash&\verb=\dashColon=&\dashColon\\ \end{tabular}\end{center} \begin{center}\begin{tabular}{r>{$}c<{$}|r>{$}c<{$}|r>{$}c<{$}} \verb=\strictif=&\strictif&\verb=\strictfi=&\strictfi&\verb=\strictiff=&\strictiff\\ \verb=\circledvee=&\circledvee&\verb=\circledwedge=&\circledwedge&\verb=\circledbar=&\circledbar\\ \verb=\openJoin=&\openJoin&\verb=\opentimes=&\opentimes&\verb=\VvDash=&\VvDash\\ \verb=\lambdaslash=&\lambdaslash&\verb=\lambdabar=&\lambdabar&\verb=\Wr=&\Wr \end{tabular}\end{center} \renewcommand{\arraystretch}{2} \begin{center} \begin{tabular}{r>{$}c<{$}c|r>{$}c<{$}c} \verb+\idotsint+ &\idotsint& $\displaystyle\idotsint$\\ \verb+\ointclockwise+ &\ointclockwise&$\displaystyle\ointclockwise$ &\verb+\varointctrclockwise+&\varointctrclockwise& $\displaystyle\varointctrclockwise$\\ \verb+\oiintclockwise+ &\oiintclockwise&$\displaystyle\oiintclockwise$&\verb+\oiintctrclockwise+&\oiintctrclockwise&$\displaystyle\oiintctrclockwise$\\ \verb+\varoiintclockwise+&\varoiintclockwise& $\displaystyle\varoiintclockwise$&\verb+\varoiintctrclockwise+&\varoiintctrclockwise&$\displaystyle\varoiintctrclockwise$\\ \verb+\oiiintclockwise+ &\oiiintclockwise&$\displaystyle\oiiintclockwise$&\verb+\oiiintctrclockwise+ &\oiiintctrclockwise&$\displaystyle\oiiintctrclockwise$\\ \verb+\varoiiintclockwise+ &\varoiiintclockwise& $\displaystyle\varoiiintclockwise$&\verb+\varoiiintctrclockwise+&\varoiiintctrclockwise&$\displaystyle\varoiiintctrclockwise$\\ \verb+\sqiint+&\mbox{$\sqiint$}&$\displaystyle\sqiint$&\verb+\sqiiint+&\mbox{$\sqiiint$}&$\displaystyle\sqiiint$ \end{tabular} \end{center} \subsection{Accents extensibles} \begin{itemize} \item \cmd{widehat} et \cmd{widetilde} \[\widehat{x}\; \widehat{xx} \;\widehat{xxx} \;\widehat{xxxx}\; \widehat{xxxxx} \;\widehat{xxxxxx} \;\widetilde{x}\; \widetilde{xx}\; \widetilde{xxx} \;\widetilde{xxxx} \;\widetilde{xxxxx}\; \widetilde{xxxxxx}\] \item \cmd{overline} et \cmd{underline} \[\overline{x}\quad \overline{xy}\quad \overline{xyz}\quad \overline{A\cup B}\quad \overline{A\cup (B\cap C)\cup D}\quad \underline{m+n+p}\] \item \cmd{overparen} et \cmd{underparen} \[\overparen{x}\quad \overparen{xy}\quad \overparen{xyz}\quad \mathring{\overparen{A\cup B}}\quad \overparen{A\cup (B\cap C)\cup D}^{\smwhtcircle}\quad \overparen{x+y}^{2}\quad \overparen{a+b+...+z}^{26}\] \[\underparen{x}\quad \underparen{xz} \quad \underparen{xyz} \quad \underparen{x+z}_{2}\quad \underparen{a+b+...+z}_{26}\] \item \cmd{overbrace} et \cmd{underbrace} \[\overbrace{a}\quad \overbrace{ab}\quad \overbrace{abc}\quad \overbrace{abcd}\quad \overbrace{abcde}\quad \overbrace{a+b+c}^{3}\quad \overbrace{ a+b+. . . +z }^{26}\] \[\underbrace{a}\quad\underbrace{ab}\quad\underbrace{abc}\quad \underbrace{abcd}\quad \underbrace{abcde}\quad \underbrace{a+b+c}_{3} \quad \underbrace{ a+b+...+z }_{26}\] \item \cmd{overrightarrow} et \cmd{overleftarrow} \[\overrightarrow{v}\quad \overrightarrow{M}\quad \overrightarrow{vv} \quad \overrightarrow{AB}\quad \overrightarrow{ABC} \quad \overrightarrow{ABCD} \quad \overrightarrow{ABCDEFGH}. \] \[\overleftarrow{v}\quad \overleftarrow{M}\quad \overleftarrow{vv} \quad \overleftarrow{AB}\quad \overleftarrow{ABC} \quad \overleftarrow{ABCD} \quad \overleftarrow{ABCDEFGH}\] \item Enfin \cmd{widearc} et \cmd{widearcarrow} (ou \cmd{overrightarc}) \[\widearc{AMB}\quad \widearcarrow{AMB}\] \end{itemize} \subsection{« Versions » math} Il est possible de définir plusieurs versions de la police mathématique \family{KpMath}, les plus courantes étant une version grasse (\textit{bold}) et une version sans empattements (\textit{sans}). On définit dans le préambule les versions désirées, par exemple :\\ |\setmathfont{KpMath-Bold.otf}[version=bold|, \optit{options} |]|\\ |\setmathfont{KpMath-Semibold.otf}[version=semibold|, \optit{options} |]|\\ |\setmathfont{KpMath-Sans.otf}[version=sans|, \optit{options} |]|\\ |\setmathfont{KpMath-Light.otf}[version=light|, \optit{options} |]|\\ et ensuite on passe d’une version à l’autre grâce à la commande |\mathversion{|\optit{nom}|}|. Exemple\footnote{L’option \opt{CharacterVariant=3} remplace le $\epsilon$ par $\varepsilon$.} : \begin{verbatim} \setmathfont{KpMath-Bold.otf}[version=bold, Style=leqslant, CharacterVariant=3] \setmathfont{KpMath-Sans.otf}[version=sans, Style=leqslant, CharacterVariant=3] \end{verbatim} Voici la même équation en trois versions, normale, grasse et sans empattement : \mathversion{base} \[ \mathbb{E}_i(N_i) = \sum_{n\ge1} P_i(N_i\ge n) = \frac{\epsilon_i}{1-\epsilon_i}<+\infty \] |\mathversion{bold}|\mathversion{bold} \[ \mathbb{E}_i(N_i) = \sum_{n\ge1} P_i(N_i\ge n) = \frac{\epsilon_i}{1-\epsilon_i}<+\infty \] |\mathversion{sans}|\mathversion{sans} \[ \mathbb{E}_i(N_i) = \sum_{n\ge1} P_i(N_i\ge n) = \frac{\epsilon_i}{1-\epsilon_i}<+\infty \] \end{document} %%% Local Variables: %%% mode: latex %%% TeX-engine: luatex %%% TeX-master: t %%% coding: utf-8 %%% End: