Dans la documentation du package, je lis ceci :
Le problème est que les commandes \llbracket et \rrbracket fournies par stmaryrd produisent un glyphe qui ne s'adapte pas à la fonte mathématique courante.
Certes, ça s'adapte bien à la fonte Computer modern :
\documentclass{article}
\usepackage{stmaryrd}
\begin{document}
$[a,b]$
$\llbracket a,b\rrbracket$ $[a,b]$
\end{document}
produit :
Mais avec la fonte fournie par le package fourier, ce n'est pas exactement adapté. Le code :
\documentclass{article}
\usepackage{fourier}
\usepackage{stmaryrd}
\begin{document}
$[a,b]$
$\llbracket a,b\rrbracket$ $[a,b]$
\end{document}
produit :
Je ne sais pas si ce que je propose est l'idéal (en particulier, \setbox0 convient-il ou vaut-il mieux un \newbox\mybox ?), mais voici une alternative, sachant qu'idéalement les concepteurs de fontes devraient tous proposer les glyphes en question, plutôt que d'avoir à les bricoler... Hélas, bien peu de ces concepteurs se préoccupaient de maths, ce qui peut se comprendre pour des fontes créés dans les siècles passés (XVIIe, XVIIIe...)
Avant de présenter le code en question, une petite remarque. Le code qui suit produit un faux ⟦ et un faux ⟧ par la superposition de deux [ ou de deux ]. Mais si on copie ce qui est affiché dans le PDF, par exemple avec ⟦a, b⟧, on obtiendra [[a, b]], ce qui n'est pas la même chose. C'est pourquoi il est fait appel au package accsupp. Ainsi à l'éventuelle copie, on obtiendra bien ⟦a, b⟧.
Je vais expliquer plus loin pourquoi 0.51 dans le code qui suit. Peut-être qu'une valeur de 0.52 serait encore meilleure, voir la remarque au sujet de arevmath.
\documentclass{article}
\usepackage{accsupp}
\usepackage{fourier}
\newcommand{\crochetL}{%
\BeginAccSupp{method=hex,unicode,ActualText=27E6}%
\setbox0=\hbox{$[$}[\kern-0.51\wd0[%
\EndAccSupp{}%
}
\newcommand{\crochetR}{%
\BeginAccSupp{method=hex,unicode,ActualText=27E7}%
\setbox0=\hbox{$]$}]\kern-0.51\wd0]%
\EndAccSupp{}%
}
\begin{document}
$[a,b]$
$\crochetL a,b\crochetR$ $[a,b]$
\end{document}
ce qui donne :
ce qui me semble un peu mieux.
Remplaçons \usepackage{fourier} par \usepackage{kpfonts}
Avec \usepackage{libertinust1math} :
Avec \usepackage{newtxmath} :
Avec \usepackage{arevmath} :
Et là je me rends compte que même avec la valeur de 0.51, la superposition n'est pas totale dans le cas de cette fonte (j'utilisais à l'origine la valeur de 0.5 et j'avais déjà un soucis de superposition imparfaite avec une autre fonte, ce qui m'a incité à passer à la valeur de 0.51).
En zoomant un peu plus on voit le défaut, l'espace vide :
Avec \usepackage{ebgaramond-maths} :
Ce qui a conduit à prendre une valeur de 0.5 (ou 0.51) pour le kern sont ces tests :
\documentclass{article}
\begin{document}
\fboxrule=0.1pt
\fboxsep=0pt
$[$
$\fbox{[}$
$[[$
\setbox0=\hbox{$[$}
La largeur de $[$ est \the\wd0.
$[\kern-1.63pt[$ % 1.63 est (environ) la moitié de 3.26385
\newcommand{\crochetL}{\setbox0=\hbox{$[$}[\kern-0.5\wd0[}
\newcommand{\crochetR}{\setbox0=\hbox{$]$}]\kern-0.5\wd0]}
$[a,b]$
$\crochetL a,b\crochetR$
\end{document}
En gros la largeur réelle de [ est la moitié de sa largeur physique, comme on le voit en zoomant (ici avec Computer modern):
On peut aussi remarquer qu'avec kpfonts, le glyph est plus centré sur sa boite... :
Je ne suis donc pas certain que le code que je propose soit l'idéal, mais à défaut de mieux...
Dans la documentation du package, je lis ceci :
Le problème est que les commandes
\llbracketet\rrbracketfournies par stmaryrd produisent un glyphe qui ne s'adapte pas à la fonte mathématique courante.Certes, ça s'adapte bien à la fonte Computer modern :
produit :
Mais avec la fonte fournie par le package fourier, ce n'est pas exactement adapté. Le code :
produit :
Je ne sais pas si ce que je propose est l'idéal (en particulier,
\setbox0convient-il ou vaut-il mieux un\newbox\mybox?), mais voici une alternative, sachant qu'idéalement les concepteurs de fontes devraient tous proposer les glyphes en question, plutôt que d'avoir à les bricoler... Hélas, bien peu de ces concepteurs se préoccupaient de maths, ce qui peut se comprendre pour des fontes créés dans les siècles passés (XVIIe, XVIIIe...)Avant de présenter le code en question, une petite remarque. Le code qui suit produit un faux ⟦ et un faux ⟧ par la superposition de deux
[ou de deux]. Mais si on copie ce qui est affiché dans le PDF, par exemple avec ⟦a, b⟧, on obtiendra[[a, b]], ce qui n'est pas la même chose. C'est pourquoi il est fait appel au package accsupp. Ainsi à l'éventuelle copie, on obtiendra bien ⟦a, b⟧.Je vais expliquer plus loin pourquoi
0.51dans le code qui suit. Peut-être qu'une valeur de0.52serait encore meilleure, voir la remarque au sujet dearevmath.ce qui donne :
ce qui me semble un peu mieux.
Remplaçons
\usepackage{fourier}par\usepackage{kpfonts}Avec
\usepackage{libertinust1math}:Avec
\usepackage{newtxmath}:Avec
\usepackage{arevmath}:Et là je me rends compte que même avec la valeur de
0.51, la superposition n'est pas totale dans le cas de cette fonte (j'utilisais à l'origine la valeur de0.5et j'avais déjà un soucis de superposition imparfaite avec une autre fonte, ce qui m'a incité à passer à la valeur de0.51).En zoomant un peu plus on voit le défaut, l'espace vide :
Avec
\usepackage{ebgaramond-maths}:Ce qui a conduit à prendre une valeur de 0.5 (ou 0.51) pour le kern sont ces tests :
En gros la largeur réelle de
[est la moitié de sa largeur physique, comme on le voit en zoomant (ici avec Computer modern):On peut aussi remarquer qu'avec
kpfonts, le glyph est plus centré sur sa boite... :Je ne suis donc pas certain que le code que je propose soit l'idéal, mais à défaut de mieux...