La langue par défaut de `babel` est la **dernière** langue fournie (ou celle désignée par `main=...`).
Pour changer de langue au cours du document, on peut utiliser la commande `\selectlanguage{...}`. Elle fait effet jusqu'à la fin du document ou jusqu'au prochain appel à `\selectlanguage{...}`.
On peut aussi utiliser l'environnement `otherlanguage` pour un changement plus ponctuel.
Le modificateur `medieval` appliqué au latin (comme tous les modificateurs de langue) ne peut être reconnu qu'en tant qu'option de `babel` (cf. p.4 de la documentation de babel 3.9m). v3.9m). J'ai ajouté la mise en majuscule de `Petrus` dans l'exemple pour montrer que ce modificateur est bien pris en compte.
compte (le `u` devient `V`). Les modificateurs acceptés pour le latin sont `medieval`, `withprosodicmarks`, `classic` et
`ecclesiastic`. Ils sont documentés par `babel-latin` et sont mutuellement exclusifs.
\documentclass[11pt,latin,french,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps]{kpfonts}
\usepackage{lipsum}
\usepackage[latin.medieval,main=french]{babel}
\begin{document}
Ceci est du gris typographique francophone mais attention, parfois le
texte change de langue, passe au latin et en respecte les
caractéristiques typographiques !
\begin{otherlanguage}{latin}
\lipsum[1]
Petrus
\uppercase{Petrus}
\end{otherlanguage}
Mais à la fin du texte latin le texte redevient français, et respecte à
nouveau les règles typographiques françaises jusqu'à ce que, hop, on
repasse au latin.
\selectlanguage{latin}
\lipsum[2]
\selectlanguage{french}
Et l'on termine en français correctement composé.
\end{document}