Avec pdflatex, l'ECM ci-dessous fonctionne (tracé avec pgfplots d'une fonction et d'une de ses tangentes horizontales). En revanche, si je décommente la ligne qui charge le package witharrows, il déclenche une erreur (avec TeXLive 2023): Dimension too large dans l'environnement axis. Ensuite, si j'effectue (au moins) une des modifications suivantes, le chargement ne provoque plus d'erreur : retirer la ligne effectuant le tracé de f, retirer le smooth, changer la flèche en ->. Je ne comprends pas le lien entre ces différents comportements.
Question : comment faire pour charger witharrows avec ce tracé sans déclencher d'erreur ?
(À noter qu'une "rustine" pour l'instant est de remplacer smooth par samples=100, ce qui donne sur cet exemple un rendu satisfaisant... mais ça ne résout pas le problème.)
Ok. Pour préciser et compléter ce nouvel ECM, après ajout de \pgfplotsset{compat=1.18} :
avec pdflatex, la compilation échoue ;
avec lualatex, la compilation est sans erreur ;
avec lualatex et en chargeant witharrows, la compilation est sans erreur mais le résultat est incorrect (la flèche est de la forme >->).
Ce graphique faisant partie d'un gros document actuellement compilé avec pdflatex, j'aimerais que ça fonctionne. S'agit-il selon vous d'un bug ? Si oui, le problème est-il à signaler auprès de pgfplots, bending ou witharrows?
@Mathieu2L "S'agit-il selon vous d'un bug ?" Oui, c'est peut etre un bug. "Si oui, le problème est-il à signaler auprès de pgfplots, bending ou witharrows?" C'est une très bonne question ! Je pense que witharrows est innocent.
Vu que le problème se pose avec witharrows uniquement du fait que witharrows charge \usetikzlibrary{bending} je pense que l'on peut considérer que witharrows est innocent ici. Ainsi, je respire mieux (je suis l'auteur de witharrows) !
@samcarter: Good suggestion. I have followed that suggestion and I have downloaded a new version (6.28b) on CTAN (bonne suggestion: j'ai suivi votre suggestion et j'ai déposé sur CTAN une nouvelle version de witharrows).
Merci de vos retours rapides. Je vais faire une réponse pour résumer le post ; toutefois, je ne sais pas trop auprès de qui signaler le problème de fond ("incompatibilité" entre pgfplots et la bibliothèque bending) : un post sur stack exchange ?
@fpantigny: version 2.8b, non ? (c'est un détail...)
Avec pdflatex (ce que je vais préciser dans mon post) : l'ajout de \pgfplotsset{compat=1.18} ne change rien au problème initial, il y a toujours une erreur de compilation.
Avec lualatex : ce même ajout ne déclenche en effet plus d'erreur à la compilation mais le résultat n'est pas correct (j'obtiens une flèche de forme >-> sur mon tracé).
Professeurs de mathématiques dans le secondaire, connaissez-vous le package ProfCollege de Christophe Poulain ? Il est aussi utile que bien documenté !
Le problème est que l'extension
witharrows
utilise\usetikzlibrary{bending}
. ECM :\documentclass{article} \RequirePackage{pgfplots} \RequirePackage{tikz} \usetikzlibrary{bending} \begin{document} \begin{tikzpicture} \begin{axis}[every axis plot post/.append style={domain=-1:3,smooth}, declare function={f(\x)=(-\x)^3+3*(\x)^2+2;},] \addplot[mark=none]{f(x)}; \addplot[mark=none,<->] coordinates {(2-0.25,{f(2)}) (2+0.25,{f(2)})}; \end{axis} \end{tikzpicture} \end{document}
Ok. Pour préciser et compléter ce nouvel ECM, après ajout de
\pgfplotsset{compat=1.18}
:witharrows
, la compilation est sans erreur mais le résultat est incorrect (la flèche est de la forme>->
).Ce graphique faisant partie d'un gros document actuellement compilé avec pdflatex, j'aimerais que ça fonctionne. S'agit-il selon vous d'un bug ? Si oui, le problème est-il à signaler auprès de
pgfplots
,bending
ouwitharrows
?@Mathieu2L "S'agit-il selon vous d'un bug ?" Oui, c'est peut etre un bug. "Si oui, le problème est-il à signaler auprès de pgfplots, bending ou witharrows?" C'est une très bonne question ! Je pense que witharrows est innocent.
Vu que le problème se pose avec
witharrows
uniquement du fait quewitharrows
charge\usetikzlibrary{bending}
je pense que l'on peut considérer quewitharrows
est innocent ici. Ainsi, je respire mieux (je suis l'auteur dewitharrows
) !@fpantigny Even if it is not the fault of
witharrows
, have you considered avoiding the problem by loading\usepgfmodule{bending}
instead of the bending library and then use\tikzset{arrows=[flex]}
to activate it only when you need it for your new environments? (the bending library is really just these two lines of code https://github.com/pgf-tikz/pgf/blob/master/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybending.code.tex )@samcarter: Good suggestion. I have followed that suggestion and I have downloaded a new version (6.28b) on CTAN (bonne suggestion: j'ai suivi votre suggestion et j'ai déposé sur CTAN une nouvelle version de
witharrows
).@fpantigny Merci !
Merci de vos retours rapides. Je vais faire une réponse pour résumer le post ; toutefois, je ne sais pas trop auprès de qui signaler le problème de fond ("incompatibilité" entre pgfplots et la bibliothèque bending) : un post sur stack exchange ?
@fpantigny: version 2.8b, non ? (c'est un détail...)
Oui, c'est 2.8b. Je pense qu'il faudrait signaler le problème sur https://github.com/pgf-tikz/pgf