Que signifie l'erreur: « Division by 0 »?

  • Message: Division by 0
  • Origine: package graphics/graphicx.

Cette erreur:

! Package graphics Error: Division by 0.

peut apparaître parce que vous avez vraiment chargé une figure qui dit avoir une dimension nulle. Mais plus souvent, elle est causée par une rotation. Voici l'explication.

Dans TeX, les objets peuvent avoir à la fois une hauteur (mesure au-dessus de la ligne de base) et une profondeur (mesure au-dessous de la ligne de base). Si vous faites pivoter un objet de 180 degrés, vous convertissez sa hauteur en profondeur, et inversement ; si l'objet avait au départ une profondeur nulle (il ne s'étendait pas sous la ligne de base), vous l'aurez converti en un objet de hauteur nulle.

Supposons que vous incluiez votre graphique avec cette commande:

\includegraphics[angle=180,height=5cm]{ma_figure.pdf}

Si le fichier ma_figure.pdf n'avait pas de profondeur au départ, les calculs de mise à l'échelle produiront une erreur de division par zéro.

Heureusement, l'extension graphicx propose aussi l'option totalheight, qui vous permet de spécifier la taille de l'image comme la somme de sa hauteur et de sa profondeur. Ainsi

\includegraphics[angle=180,totalheight=5cm]{ma_figure.pdf}

résoudra l'erreur et se comportera comme vous pouvez l'espérer.

Si vous utilisez l'extension graphics, plus ancienne, utilisez la forme étoilée de la commande \resizebox (\resizebox*, donc) pour que ce soit totalheight qui soit utilisée:
\resizebox*{!}{5cm}{%
  \rotatebox{180}{%
    \includegraphics{ma_figure.pdf}%
  }%
}

Sources:

2_programmation/erreurs/d/division_by_zero.txt · Dernière modification: 2021/03/18 20:36 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0