Les acides aminés

Florian Hollandt a posté sur texample.net, une figure avec tous les acides aminés en Tikz (voir ici). J’ai repris ses dessins pour en faire des commandes du type \AAA{scale} où scale est un facteur d’échelle entre 0 et 1 et AAA représente le code à trois lettres d’un acide aminé, par exemple thr pour une thréonine. Donc dans le code latex, \thr{scale} dessine une thréonine, la taille étant contrôlée par scale.

Exemples d'acides amines

Fichier source : acide-amine.sty

Fichier pdf : acide-amine.pdf

Icônes pour un cours : cours.sty

Ce paquet définit un jeu de quatre icones (ci-contre), créés avec Tikz. Associé à chaque icone, le paquet met à disposition trois environnements : question, remarque et attention qui disposent le texte en couleur avec l’icone sur la gauche.

Icones pour les cours

cours.sty : le package.

exemple_cours.tex : fichier exemple

exemple_cours.pdf : fichier pdf de exemple_cours.tex

Entête LaTex pour les examens à l’UPPA : examenUPPA.sty

Ce paquet permet de créer facilement l’entête des sujets de contrôles continus ou d’examens de l’université de Pau et des pays de l’Adour. Il introduit deux commandes spéciales : \makeentete et \nomPrenomGroupe. La première permet de créer l’entête, la seconde permet de faire afficher la demande du nom du prénom et du groupe de l’étudiant directement sur le sujet.

Entête examen UPPA

Les fichiers tex et pdf ci-dessous contiennent un exemple d’utilisation du packages :

examenUPPA.sty : le package.

exemple_examenUPPA.tex : fichier exemple pour le paquet examenUPPA.sty

exemple_examenUPPA.pdf : fichier pdf obtenu à partir de exemple_examenUPPA.tex

Mes macros LaTex : mes_macros.sty

Ce paquet définit un ensemble de commandes qui sont de simples racourcis (énumération, vecteurs, opérateurs …) et d’autres plus complexes, principalement en lien avec la chimie quantique.

Paires libres dessinée avec mes_macros.stycases quantiques dessinée avec mes_macros.sty

Les commandes avancées de ce paquets permettent ou simplifient :

  • Le dessin de paires d’électrons
  • Le dessin de cases quantiques (OA, principe de hund)
  • Le dessin de diagramme d’orbitale moléculaire
  • L’écriture de configuration électronique (Z = 1 – 86)

Les dessins utilises Tikz. Des exemples sont disponibles dans le fichier tex et le fichier pdf ci-dessous.

mes_macros.sty

mes_macros.tex : fichier exemple pour le paquet mes_macros.sty

mes_macros.pdf : fichier pdf obtenu à partir de mes_macros.tex

Le fichier suivant est un script python qui affiche une configuration électronique pour un nombre d’électrons donné. Dans le paquet mes_macros.sty il y a une macro LaTeX du même genre, cependant elle est écrite sans aucune finesse. Si quelqu’un est capable de convertir mon script python en Tex je suis preneur !

configElec.py

Quelques paquets LaTeX utiles

Voici quelques paquets que j’utilise fréquemment. Les plus largement connus sont graphicx (pour les images), xcolor (gestion des couleurs), inputenc (pour l’encodage et les accents), fontenc (police), babel (langue du document) et les paquets des polices mathématiques (amsmath, amsfonts et amsfont). En voici d’autres que je trouve utiles et qui sont peut être moins connus :

  • geometry
    Mise en page du document : marge, entête, pied de page …
  • fancyhdr
    Comme son nom l’indique le paquet fancy header permet de modifier le style et le contenu des entêtes et des pieds de pages.
  • titlesec
    Ce paquet permet de modifier le style des différentes sections du document, de la table des matières ou encore de la liste des figures.
  • tabularx
    Une extension de l’environnement tabular qui permet de définir la largeur d’un tableau et de définir une colonne de type X dans laquelle le texte est dans un paragraphe dont la largeur est automatiquement ajustée de sorte que le tableau ait la largeur souhaitée.
  • gnuplottex
    Permet de créer un graphique en insérant des commandes gnuplot directement dans le fichier source latex, dans un environnement gnuplot.
  • animate
    Permet d’inclure des fichiers gif animés ou de créer des animations à partir d’un ensemble de fichiers images à la manière d’un dessin animé.
  • mhchem
    Un paquet permettant d’écrire de façon simplifié des formules brutes de molécules et des équations chimiques.
  • setspace
    Permet de gérer l’interligne.
  • xspace
    Ce paquet donne une commande permettant de gérer l’espace qui doit intervenir ou non à la suite de l’utilisation d’une macro.
  • textpos
    Un paquet qui permet de placer des boites de façon absolue sur une page.

Comment « installer » de nouveaux paquets LaTeX ?

Sous linux, quelque soit la distribution, on peut installer très simplement de nouveaux paquets (fichiers .sty) sans avoir besoin des droits administrateur. Par contre, ces nouveaux paquets ne seront pas accessible à tous les utilisateurs. Pour cela, dans votre dossier utilisateur (/home/votre_nom_utilisateur/) il faut créer un dossier texmf qui contient un dossier tex qui contient un dossier latex. Placer ensuite simplement vos nouveaux paquets dans le dossier /home/votre_nom_utilisateur/texmf/tex/latex/ ou dans un sous dossier de celui-ci et ils seront tout de suite utilisables.

En utilisant la ligne de commande, voici quelques commandes bash permettant d’ajouter le paquet mon_paquet.sty :

mkdir -pv $HOME/texmf/tex/latex
cp mon_paquet.py $HOME/texmf/tex/latex

D’autre part, lors de la compilation, latex cherche dans ces dossiers lorsqu’il essaye d’inclure des images ou tout autre type de fichier inclus dans le document. On peut donc également placer dans le dossier, ou un sous dossier de /home/votre_nom_utilisateur/texmf/tex/latex/ les images dont on se sert régulièrement, par exemple les logos.

Installation de modules python supplémentaires

Supposons que vous avez écris un module python contenant des classes ou des fonctions ou que vous en avez téléchargé un sur internet. Où devez vous le placer pour y avoir accès lorsque vous exécutez un programme python ou que vous utilisez le prompt de python ?

Lorsqu’on importe un module python avec l’instruction import ou from, python cherche le module correspondant dans une liste d’emplacements (de dossiers) défini dans la variable d’environnement PYTHONPATH. On peut connaître la liste de ces emplacements grâce à la variable path du module sys :

[Ger@kiwi:/home/Ger]> python
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for p in sys.path:
...     print(p)
... 
 
/home/moi/
/usr/lib/python2.6
/usr/lib/python2.6/plat-linux2
/usr/lib/python2.6/lib-tk
...
>>>

La variable sys.path est en fait une liste python. On voit, entre autre, que le dossier de travail (ici /home/Ger/) est contenu dans la variable sys.path. Une première solution pour importer dans un code python un module supplémentaire est donc de le placer dans le dossier de travail. Cependant cette solution n’est pas très agréable étant donné qu’il faudra recopier le module dans tous les dossiers ou vous en aurez besoin. Une seconde solution est de rajouter des éléments à la liste sys.path avant d’importer les modules :

import sys
sys.path.append("/home/moi/chemin/vers/mon/module/")
# importation de votre module
import mon_module

De façon plus automatique on peut ajouter des emplacements à la variable d’environnement PYTHONPATH. Voici quelques lignes en bash que vous pouvez ajouter à votre fichier .bashrc pour ajouter un ensemble de chemins de façon automatique. Ce petit script suppose que tous vos modules python supplémentaires sont enregistrés dans un même dossier et dans les sous dossier de ce dernier. Ce dossier nommé classDir est défini sur la première ligne du script qui ajoute simplement à la variable PYTHONPATH le dossier classDir et l’ensemble des dossiers qu’il contient. Voici le script :

# python : liste des dossiers contenant vos classes python
classDir="/home/moi/chemin/vers/mes/modules/"
liste=`ls $classDir`
monpath="$classDir:"
for dossier in $liste
do
    monpath="$classDir$dossier:$monpath"
done
export PYTHONPATH=$PYTHONPATH:$monpath