comportement étrange de \ fontseries
Dans le MWE suivant, "Lorem ipsum" devrait être léger, mais vous obtenez le poids normal.
%\RequirePackage[2019/10/01]{latexrelease}
\documentclass{article}
\begin{document}
\fontseries{l}\fontfamily{NotoSans-TLF}\selectfont Lorem ipsum
\end{document}
L'avertissement dit:
LaTeX Font Warning: Font shape `OT1/cmr/l/n' undefined
(Font) using `OT1/cmr/m/n' instead on input line 6.
Apparemment, LaTeX essaie OT1 / cmr / l / n (qui n'existe pas), remplace OT1 / cmr / m / n, et enfin vous obtenez OT1 / NotoSans-TLF / m / n.
Si vous utilisez \RequirePackage[2019/10/01]{latexrelease}(cela annule les modifications NFSS de LaTeX 2020-02-02), vous obtenez la série légère comme prévu.
Autres observations:
- Si vous demandez
\fontseries{sb}, vous obtenez à labplace. - Si vous demandez
\fontseries{c}, vous obtenez à lamplace. - Si vous demandez
ul,el,m,b,ebouub, vous obtenez la série de police demandée. (Ceci est très déroutant car par exemple OT1 / cmr / ul / n n'existe pas non plus) - Si vous utilisez à la
\fontfamily{NotoSans-TLF}\fontseries{l}\selectfont Lorem ipsumplace, vous obtenez la série de polices demandée. - Le même problème se produit avec d'autres polices.
Réponses
Les attributs de police sont modifiés dans l'ordre
\fontencoding
\fontfamily
\fontshape
\fontseries
\fontsize
Donc, ce qui se passe avec votre entrée, c'est que la forme est d'abord modifiée l, ce que Computer Modern n'a pas fait, donc elle est remplacée par la valeur par défaut m.
En utilisant le bon ordre, le résultat est comme prévu:
\documentclass{article}
\begin{document}
\fontfamily{NotoSans-TLF}\fontseries{l}\selectfont Lorem ipsum
\end{document}
Le plus important est d'avoir la déclaration de famille au début, car cela amènera LaTeX à lire le fichier de définition de police (si ce n'est déjà fait) afin que les autres attributs possibles soient connus.
La différence entre la ulet la lsérie est que le noyau LaTeX a une règle pour le m/lcommutateur:
\DeclareFontSeriesChangeRule {m}{l}{l}{m}
Cette règle signifie que si m(premier argument) est la série courante, et lest demandé (deuxième argument) alors lest essayé (troisième argument) et s'il n'existe pas, la série revient à m(quatrième argument).
Comme egreg l'a écrit, vous essayez de changer la série alors qu'elle cmrest toujours active, et donc, comme elle n'a pas de lsérie, mest forcée.
Vous pouvez obtenir un effet similaire ulsi vous déclarez également une règle pour cela:
\documentclass{article}
\begin{document}
{ \fontseries{ul}\fontfamily{NotoSans-TLF}\selectfont Lorem ipsum }
\DeclareFontSeriesChangeRule {m}{ul}{ul}{m}
{ \fontseries{ul}\fontfamily{NotoSans-TLF}\selectfont Lorem ipsum }
\end{document}
Vous pouvez éviter le retour en arrière men supprimant le quatrième argument de la règle:
\documentclass{article}
\DeclareFontSeriesChangeRule {m}{l}{l}{}
\begin{document}
\fontseries{l}\fontfamily{NotoSans-TLF}\selectfont Lorem ipsum
\end{document}