Que signifie l’erreur : « Division by 0 » ?#
Cette erreur 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, vous devrez
passer par 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
FAQ erreurs - Lettre D, sur le site Developpez.com
LaTeX Companion, 2e édition, Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley (Pearson, 2006)