Je donne ici les étapes qui m’ont permis de convertir ma
thèse écrite en LATeχ en HTML avec latex2html (installé sur mon Mac avec fink).
Quelques mots sur ma thèse en LATeχ
J’ai créé plusieurs répertoires correspondant chacun à un chapitre. Ces chapitres sont ensuite appelés dans mon fichier principal these.tex via la commande \include. Comme c’est une thèse en physique il y a pas mal de formules et de signes bizarres que j’utilise souvent ( 7Be , 8B, 23892U et plusieurs autres déclinaisons).
J’ai donc défini des macros dans un fichier these.sty que je charge ensuite dans mon fichier these.tex avec \usepackage{these}.
Étapes de conversion
Recopier l’ensemble de votre répertoire de thèse (en theseHTML par exemple). Toutes les étapes que je décris maintenant se font dans ce répertoire.
Modifier le fichier principal où sont appelés vos fichiers LATeχ et le renommer
en these_html.tex par exemple. Supprimer tous vos \usepackage, et mettez ce qui suit (pour exemple mon fichier these_html.tex):
\documentclass[11pt]{book} \usepackage[french]{babel} \usepackage{epsfig} \usepackage{html} \setcounter{tocdepth}{2} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb}
—–> \include{VOTRE 1er FICHIER LATeχ }
Je vous conseil de ne pas convertir toute votre thèse en un bloc mais plutôt include par include et de vérifier à chaque fois si la conversion est bonne. Il faut enlever aussi l’appel à la bibliographie. Pour ma part j’ai laissé les \chapter dans mon fichier these_html.tex. Si vous avez définis des macros dans un fichier annexe (pour moi c’est le fichier these.sty), vous devez les déclarer dans un fichier .latex2html-init qui est chargé au lancement de la commande latex2html. Comme latex2html est écrit en Perl, ces déclarations doivent être écrit en Perl et non pas en LATeχ .
Je donne quelques exemples de macros que j’utilise en LATeχ et leurs analogues en Perl.
Je distingue trois cas.
sub do_cmd_nue {"ν<SUB>e</SUB>"}.
sub do_cmd_isotopes{ local($_) = @_; s/$next_pair_pr_rx//o; $chiffre = $; s/$next_pair_pr_rx//o; $atome = $; join('',"<SUP>$chiffre</SUP>$atome", $_); }
\newlength{\subwidth} \newcommand{\atomes}[3]{% \ensuremath{ \settowidth{\supwidth}{$\scriptstyle #1$}% \settowidth{\subwidth}{$\scriptstyle #2$}% \ifdim \supwidth>\subwidth \subwidth\supwidth\fi% \vphantom{#3}^{\makebox[\subwidth][r]{$\scriptstyle #1$}}% _{\makebox[\subwidth][r]{$\scriptstyle #2$}}\mathrm{#3}}}
Il s’agit pour latex2html via une commande Perl de récupérer les trois arguments de cette macro et de bien les agancer. La commande suivante dans le fichier .latex2html-init permet de le faire:
sub do_cmd_atomes{ local($_) = @_; s/$next_pair_pr_rx//o; $chiffre1 = $&; s/$next_pair_pr_rx//o; $chiffre2= $&; s/$next_pair_pr_rx//o; $atome = $&; join('',"<SUP>$chiffre1</SUP>","<SUB>$chiffre2</SUB>","$atome",$_); }
Remplacer l’ensemble de vos macros dans le fichier .latex2html-init. Rajouter ensuite ces quelques lignes (qui sont mieux que les défauts proposés) au début du fichier latex2html-init:
$LANGUAGE_TITLES = ' french'; $BODYTEXT = "text=\"\#000000\" bgcolor=\"\#FFFFFF\""; $WHITE_BACKGROUND = 1; $LATEX_COLOR = "\\pagecolor{white}"; $PSTOIMG = "$PERL /sw/bin/pstoimg";
Si on veut des .png pour les figures au lieu des .gif:
$IMAGE_TYPE = $IMAGE_TYPES[1];
Vous pouvez alors lancer la conversion:
latex2html -no_math -html_version 3.2,math -local_icons these_html.
L’option -local_icons permet d’avoir les icons « pervious », « up » et « next » dans le repertoire courant. Relancer la commande précendente à chaque nouveau include que vous mettez dans votre fichier these_html.tex. Terminer en mettant l’appel de la bibliographie.
Quelques liens utiles, voir très utiles:
http://www.orcca.on.ca/MathML/texmml/textomml.html
http://www.htmlhelp.com/reference/html40/entities/symbols.html
http://www-texdev.ics.mq.edu.au/l2h/docs/manual/
http://www.yoyodesign.org/doc/w3c/mathml2/byalpha.htmlhttp://www.cims.nyu.edu/~barnett/thesis/latex2html_tips.html
Tags: latex2html