Introduction
Dans les publications scientifiques, des schémas sophistiqués sont créés dans des documents Latex avec des packages (circuitikz pour les circuits électriques, chemfig pour les molécules chimiques…).
Pour dupliquer et insérer les schémas dans des pages HTML, il y a une méthode simple pour produire des fichiers images png à partir de documents LaTex contenant les schémas sans avoir à utiliser des outils comme Gimp, Photoshop.
Comment créer des fichiers images png à partir de schémas dans des documents Latex avec MiKTeX et TexMaker ?
Mode Standalone
Pour un schéma, créer un document Latex en mode standalone.
guanine.tex
\documentclass[margin=5mm]{standalone}
\usepackage{chemfig}
\begin{document}
\chemfig{*6((-H_2N)=N-*6(-\chembelow{N}{H}-=N?)=?-(=O)-HN-[,,2])}
\end{document}
Les marges peuvent devoir être ajustées avec les options [margin=…]
: dans certaines circonstances, un schéma peut être tronqué.
pdftoppm
Compiler le document standalone au format PDF, puis utiliser pdftoppm
disponible dans la distribution MiKTeX
pour générer le fichier image png à partir du fichier pdf :
% cd D:\projects\Tex\pub
% pdftoppm -png guanine.pdf > guanine.png
Un format Jpeg est généré avec l’option -jpeg
.
Multiples schémas dans un document Latex, tikz
On peut ne pas vouloir stocker un schéma par fichier. Toujours en mode standalone, appliquer la classe tikz
au document
pour produire un schéma par page dans un document Latex. Chaque page s’ajuste à la taille du schéma.
chemistry.tex
\documentclass[tikz,margin=5mm]{standalone}
\usepackage{chemfig}
\begin{document}
% Page 1 : guanine
\chemfig{*6((-H_2N)=N-*6(-\chembelow{N}{H}-=N?)=?-(=O)-HN-[,,2])}
% Page 2 : Benzene
\chemfig{**6(------)}
% Page 3 : Esterification
\schemestart
\chemname{\chemfig{R’OH}}{Alcool}
\+
\chemname{\chemfig{R-C(-[:-30]OH)=[:30]O}}{Carboxylic Acid}
\arrow(.mid east--.mid west)
\chemname{\chemfig{R-C(-[:-30]OR’)=[:30]O}}{Ester}
\+
\chemname{\chemfig{H_2O}}{Water}
\schemestop
\chemnameinit{}
\end{document}
Dans l’exemple ci-dessus :
- Page 1 : Molécule de guanine
- Page 2 : Molécule de benzene
- Page 3 : Réaction d’esterification
Utiliser les options -f
(first page) et -l
(last page) pour générer un fichier png pour un schéma :
% cd D:\projects\Tex\pub
% pdftoppm -f 2 -l 2 -png chemistry.pdf > benzene.png
% pdftoppm -f 3 -l 3 -png chemistry.pdf > esterification-reaction.png
TikzPicture
La méthode fonctionne avec de multiples schémas TikzPicture.
% cd D:\projects\Tex\pub
% pdftoppm -f 1 -l 1 -png function.pdf > f-variation.png
% pdftoppm -f 2 -l 2 -png function.pdf > f-graph.png
function.tex
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{tkz-tab}
\usepackage{amsmath}
\begin{document}
% Page 1 : Function variation
\begin{tikzpicture}
\tkzTabInit[lgt=3]%
{$x$ /1,%
$f'(x)=-\dfrac{1}{2x^2}$ /1,%
$f(x)=\dfrac{1}{x}$ /2}%
{$-\infty$ , $0$ , $+\infty$}%
\tkzTabLine{ 0, -, d, -, 0}
\tkzTabVar{+/ $0^-$, -D+/ $-\infty$/ $+\infty$, -/ $0^+$}
\end{tikzpicture}
% Page 2 : Graph Function
\begin{tikzpicture}
\begin{axis}[ xlabel={$x$}, ylabel={$y$}
,axis lines=middle
,samples=200, grid, thick
,domain=-10:10,
,ymin = -20, ymax = 20
,xmin = -2.1, xmax = 2.1
,axis on top=true
,title={$f(x)=\dfrac{1}{x}$}
]
\addplot [domain=-2:-0.001, no marks, blue] {1/x)};
\addplot [domain=0.001:2,no marks, blue] {1/x)};
\end{axis}
\end{tikzpicture}
\end{document}