2
1

Dans le louable souci de remettre au goût du jour le s long qui depuis trop longtemps fait défaut à la typographie française du quotidien, je compose un document en kpfonts avec l'option veryoldstyle.

Cette option transforme tous les s en ſ, à moins qu'ils ne soient immédiatement suivis du signe égal : ainsi, avec veryoldstyle, s= donne s, ce qui permet aux deux s de cohabiter dans un même mot. J'apporte cette précision pour faciliter la bonne lecture de l'ECM qui va suivre ; pis c'est bien pratique, cette histoire de s=, ça permet de voir illico si s et s longs ont bien été compilés.

Ce document comporte des tableaux. Pour ceux-ci, je souhaite utiliser des caractères sans empattements (j'ai déjà posté une question à ce sujet).

Comme l'atteste le premier tableau de l'ECM ci-dessous, le sélecteur \sffamily fonctionne très bien : le texte d'une cellule frappée par ce sélecteur est bien sans empattements.

Mais insérer des \sffamily à tout bout de champ est lassant.

Fort de mon expérience acquise via ma question précédente, je me dis que je vais changer de police avant le tableau, puis immédiatement après : ça devrait faire l'affaire. Ainsi donc écris-je \fontfamily{jkpss}\selectfont en préambule du deuxième tableau de l'ECM.

Et là, surprise : les s longs ne sont plus compilés !

Cornegidouille ! Pourquoi le glyphe « s long sans empattement » est-il bien produit par le sélecteur \sffamily et pas par la commande \fontfamily{jkpss}\selectfont ?

Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper, 12pt, french, BCOR=0pt, DIV=15]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[veryoldstyle, light, largesmallcaps]{kpfonts}
\usepackage{babel}
\begin{document}
\pagestyle{empty}
\setlength{\parindent}{0cm}

\begin{tabular}{ll}
Premier & tableau\\
\sffamily kpfonts= & \sffamily sans= empattements=
\end{tabular}\\

\fontfamily{jkpss}\selectfont
\begin{tabular}{ll}
Deuxième & tableau\\
tout en kpfonts= & sans= empattements=\dots\\
mais sans= & s longs=\\
\sffamily sauf si & \sffamily on ajoute la commande \verb+\s=ffamily+ !
\end{tabular}
\end{document}

Posée 02 Fév '17, 08:52

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%

Modifiée 10 Mar '17, 22:07

1

Il suffit de remplacer \fontfamily{jkpss}\selectfont par \sffamily.

(02 Fév '17, 11:01) touhami touhami's gravatar image

Certes. Mais pourquoi ?

\fontfamily{jkpss}\selectfont appelle la police sans empattements et veryoldstyle appelle le s long. En toute logique, le s long devrait donc apparaître sans empattements. Or ce n'est pas la cas : il n'apparaît pas du tout !

(02 Fév '17, 11:10) Pathe ♦♦ Pathe's gravatar image

Le choix de la font dépend de l'option passée à l'extension kpfonts, il me semple que \sffamily fait appelle à une autre font que jkpss et (je ne suis pas sure) que jkss ne possède pas de lettre (symbole) s long. Je vais vérifie ça plus tard.

(02 Fév '17, 11:26) touhami touhami's gravatar image

Ça, je ne sais pas. Je vois apparaître un s long sans empattements lors de la compilation avec la commande \sffamily, mais je ne saurais dire s'il vient d'une autre police !

Je serais d'ailleurs heureux de savoir comment vérifier cela. À votre avis, cette interrogation doit-elle faire l'objet d'une autre question ?

La doc précise simplement que d'évidence il n’y pas de « s » long en petites capitales.

(02 Fév '17, 12:45) Pathe ♦♦ Pathe's gravatar image
1

J'ajoute (bien tardivement, mais j'ai eu besoin de consulter cette page), que le package eco permet d'avoir des chiffres elzéviriens dans tout un document.

(17 Fév '18, 21:30) fred02840 fred02840's gravatar image

Un échange de courriels avec l'auteur de la police m'a éclairé — et montré que je n'avais pas lu la doc avec assez d'attention.

Ainsi, le paragraphe 5.1 indique que le nom de la famille kpfonts sans empattements est jkpss avec les options suivantes : [k][f][osn,os,vos] !

vos est l'option correspondant à veryoldstyle : le nom de la famille devient donc jkpssvos.

Ci-dessous un ECM fonctionnel, avec s longs, présentant :

  1. tout d'abord la commande \sffamily qui fait disparaître les empattements,
  2. revenant au texte avec empattements grâce à la commande \normalfont
  3. et revenant sans empattements avec la suite de commandes \fontfamily{jkpssvos}\selectfont.

Le voici :

Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper, 12pt, french, BCOR=0pt, DIV=15]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[veryoldstyle, light, largesmallcaps]{kpfonts}
\usepackage{babel}
\begin{document}
\pagestyle{empty}
\setlength{\parindent}{0cm}

Du texte en kpfonts= avec empattements= et s longs=\\

\sffamily
\begin{tabular}{ll}
Un premier & tableau\\
kpfonts= & sans= empattements=
\end{tabular}\\

\normalfont
le texte retrouve ses= empattements=\dots\\

\fontfamily{jkpssvos}\selectfont
\begin{tabular}{ll}
Un deuxième & tableau\\
tout en kpfonts= & sans= empattements=\dots\\
avec & s longs= !
\end{tabular}
\end{document}

L'auteur de la police m'a indiqué l'article qu'il a rédigé pour le TUGboat au sujet de la création de cette ensemble de polices. L'article, en anglais, s'intitule A story of kpfonts: Reaching the limits of NFSS ; il est passionnant.

Lien permanent

Publiée 02 Fév '17, 13:32

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%

Modifiée 02 Fév '17, 16:29

1

SI vous disposez de la commande latexdef, la commande suivante donne la réponse: latexdef -c scrartcl -p '[veryoldstyle]kpfonts' sffamily sfdefault kp@petitesmajuscules kp@flig kp@style

(04 Fév '17, 21:56) Paul Gaborit Paul%20Gaborit's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.