Comment mettre en forme un exemple LaTeX

Nous avons mis en place un plugin LaTeX pour le DokuWiki : http://www.dokuwiki.org/plugin:latex. Cependant, pour les besoins spécifiques de notre wiki, nous l'avons légèrement modifié.

Principe général

Le code transmis via l'utilisation des balises adéquates (qui seront décrites dans la suite) est compilé sur le serveur pour en produire un pdf puis, à l'aide des outils ImageMagick, une image png est produite, rognant le blanc superflu tout autour de l'image (en particulier les marges).

L'image png est affichée sur la page du wiki tandis qu'un lien est créé, permettant de cliquer sur l'image pour obtenir le pdf correspondant (pdf lui aussi rogné grâce à l'outil pdfcrop, avec l'option –margins 5).

Balise <latex>

Cette balise permet de produire des exemples de bases. Ici, il suffit de rentrer le code comme si l'on se trouvait au milieu de notre document LaTeX.

Par exemple

<latex>
To show the effect of the matrix on surrounding lines inside a paragraph, we put it here:
\begin{math}
\left( \begin{smallmatrix}
a&b\\ c&d
\end{smallmatrix} \right)
\end{math}
and follow it with enough text to ensure that there is at least one full line below the matrix.
</latex>

produit cela


To show the effect of the matrix on surrounding lines inside a paragraph, we put it here:
\begin{math}
\left( \begin{smallmatrix}
a&b\\ c&d
\end{smallmatrix}  \right)
\end{math}
and follow it with enough text to ensure that there is at least one full line below the matrix.

En fait un préambule est ajouté automatiquement à notre code pour que la compilation s'effectue sans problème. Celui-ci est le suivant :

\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage[a4paper]{geometry}
\usepackage{babel}
\pagestyle{empty}

Il faut donc être conscient que la compilation peut ne pas fonctionner si l'on demande quelque chose de trop subtil, nécessitant une extension qui n'est pas dans ce préambule. Si tel était le cas, nous aurions l'image lors de l'affichage de la page Dokuwiki.

Balise <latexblock>

Cette balise permet la même chose que la précédente. Cependant, l'image générée par le plugin n'est plus inline (on crée un nouveau bloc html) et le bloc créé est mis en relief avec des attributs css particuliers.

Par l'exemple, on comprend mieux :

Je travaille dans le code de DokuWiki pour illustrer l'utilisation du 
plugin <latex>\LaTeX</latex>. Si je veux mettre vraiment en relief ce 
que je veux montrer, je peux utiliser la balise <latexblock>\Latex</latexblock>

Ceci produit


Je travaille dans le code de DokuWiki pour illustrer l'utilisation du plugin \LaTeX. Si je veux mettre vraiment en relief ce que je veux montrer, je peux utiliser la balise

 \LaTeX

Balise <latexall>

Pour certains exemples, il sera sans doute nécessaire d'utiliser un préambule non orthodoxe. Nous avons modifié le plugin pour permettre cette fonctionnalité. Ceci se fait avec la balise <latexall>.

<latexall>
\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{babel}
\pagestyle{empty} %% très important !
\begin{document}
\section{Test}
Avec notre très belle fonte Fourier !
\end{document}
</latexall>

\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{babel}
\pagestyle{empty} %% très important !
\begin{document}
\section{Test}
Avec notre très belle fonte Fourier !
\end{document}

Comme montré dans cet exemple, il est très important de mettre la commande \pagestyle{empty} pour éviter la génération du numéro de page en bas de page. En effet, si tel n'était pas le cas, l'image serait bien trop grande (et de toute façon, vous auriez l'image ).

Autres fonctionnalités

On peut mettre des maths directement dans le texte de la page DokuWiki avec les balises bien connues de \TeX, à savoir, $…$ pour le mode en ligne et \[…\] pour le mode hors ligne. Voici un petit exemple.


Soit $n$ un entier quelconque. Calculer

\[ \sum_{ i=1}^n i.\]


On peut aussi utiliser la bonne syntaxe \LaTeX pour les maths en ligne : \(…\) comme ceci : \(x\).

syntaxe_exemples.txt · Dernière modification: 2013/05/21 20:55 par notezik
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0