Journal Petit journal bookmark LaTeX

Posté par (page perso) . Licence CC by-sa
9
3
juin
2011

Comme la mode est aux publications de classes LaTeX, j’y vais aussi de ma petite contribution.

« utlsethesis » est un modèle de document dérivé de la bouillie de code que j’avais écrit pour ma thèse. Ce modèle répond donc au départ à un besoin particulier, mais j’espère que dans sa forme actuelle il pourra aussi s’avérer utile à d’autres que moi.

L’essentiel des apports de cette classe concerne avant tout la mise en forme de documents longs, permettant entre autres :

  • le formatage simplifié des en-têtes de chapitre et des styles de titre (sections, sous-sections…),
  • l’ajout automatique (ou manuel) d’onglets en marge des pages pour identifier aisément les chapitres,
  • et l’intégration (optionnelle) de « chapterbib » et de « natbib » pour produire des chapitres indépendants (numérotation des sections et bibliographie).

Les petits à-côtés qui peuvent toujours servir :

  • des commandes pour accéder facilement aux titres et aux numéros des chapitres et sections en cours,
  • des commandes d’inclusion pleine-page très simples (pour la déco, la page de garde imposée fournie dans un format autre que LaTeX ou l’inclusion d’articles par exemple),
  • un thème de couleur simple adaptable (utilisant le rouge de l’Université de Toulouse par défaut),
  • paramètres prédéfinis pour compilation avec LaTeX/TeX le vénérable, LaTeX/pdfTeX (sortie PS ou PDF) et XeLaTeX.

Tout ceci vient au prix de nombreux défauts aussi. Je ne suis pas un expert LaTeX et le code sent assez mauvais. Cette classe (ou certaines de ses options) est incompatible avec certains paquets usuels, certains usages nécessitent l’emploi de commandes adaptées pour cette classe à la place des commandes de base fournies par LaTeX et il vaut donc mieux lire le README avant de s’en servir.

Le point le plus déroutant je pense pour ceux qui seraient tentés de l’essayer est la définition des marges. Celle ci diffère de LaTeX mais n’est pas compatible (par défaut) avec le paquet « geometry ». Je préfère la méthode LaTeX traditionnelle qui consiste à définir les marges par des commandes, mais les longueurs utilisées par LaTeX sont horribles ! Cette classe redéfinit donc ses propres longueurs (marges, espace destiné à la reliure…).

Je ne mets pas de lien direct vers cette classe ici parce-que pour le moment je la partage depuis un petit serveur perso qui ne supportera pas une charge LinuxFr. Les intéressés « pour de vrai » pourront donc récupérer cette classe en consultant le site perso lié à mon compte LinuxFr (le lien est directement sur la page où cela conduit).

Voilà, je ne pense pas que ceci va révolutionner vos vies, mais néanmoins, j'aurais trouvé dommage de garder ça pour moi.

  • # GitHub, Gitorious

    Posté par (page perso) . Évalué à 2.

    Si ton serveur perso ne tient pas la charge, tu peux mettre le code sur GitHub ou Gitorious. Ça permettra même en plus à d'autres personnes de l'améliorer facilement.

    Sinon, ce journal n'est pas vraiment un « journal bookmark », mais c'était peut-être un moyen supplémentaire pour avoir le moins de visiteurs possibles.

    « Un animal d'une atterrante stupidité : il est persuadé que si vous ne le voyez pas, il ne vous voit pas non plus » (H2G2)

  • # Exemple ?

    Posté par . Évalué à 4.

    Moi j'aime bien avoir un petit aperçu de ce que donne une classe LaTeX avant de commencer à m'y mettre, tu n'aurait pas un petit exemple ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: Exemple ?

      Posté par (page perso) . Évalué à 2.

      Si, ma thèse. Elle est téléchargeable au même endroit que la classe LaTeX. Pour ma thèse j'ai rajouté pas mal de bricolages autour qui ne sont pas dans la classe (table des matières personalisée, polices de caractère), mais l’aspect visuel des pages normales correspond bien. À noter pour l'exemple que les en-têtes de chapitre n'utilisent rien de plus que ce que fournit la classe de base.

      • [^] # Re: Exemple ?

        Posté par (page perso) . Évalué à 3.

        C'est dommage qu'il n'y ait que les sources de ta thèse. J'aurais préféré télécharger directement le PDF.

        Si il n'y avait pas beaucoup de dépendances, pourquoi pas. Mais là, il faut avoir inkscape pour compiler le document (je me suis arrêté là).

        « Un animal d'une atterrante stupidité : il est persuadé que si vous ne le voyez pas, il ne vous voit pas non plus » (H2G2)

        • [^] # Re: Exemple ?

          Posté par (page perso) . Évalué à 2.

          Ah ? Il me semblait avoir laissé le PDF avec, j'ai donc mis un PDF à côté. Sinon j'ai aussi ajouté un scrinechoute pour les curieux.

          • [^] # Re: Exemple ?

            Posté par (page perso) . Évalué à 2.

            Merci.

            C'est dommage que la page de garde était imposée, ça fait un peu tache par rapport au reste.

            La gestion des marges m'intéresse, pcq pour mon dernier document j'ai utilisé geometry, mais en mesurant les marges une fois le document imprimé, les longueurs étaient différentes par rapport à ce que j'avais spécifié… Bon peut-être que geometry n'y était pour rien et que l'erreur venait des options d'impression.

            « Un animal d'une atterrante stupidité : il est persuadé que si vous ne le voyez pas, il ne vous voit pas non plus » (H2G2)

            • [^] # Re: Exemple ?

              Posté par (page perso) . Évalué à 3.

              Bon peut-être que geometry n'y était pour rien et que l'erreur venait des options d'impression.

              Genre une option fit to media dans ton impression? Tu peux imprimer le résultat de pdflatex testpage pour vérifier ton imprimante. Si tu travailles en PostScript, tu peux créer une configuration DVIPS pour ton imprimante en utilisant texconfig et l'utiliser avec l'option -P de ton imprimante.

              • [^] # Re: Exemple ?

                Posté par (page perso) . Évalué à 3.

                l'option -P de ton imprimante.

                En réalité il s'agit de l'option -P de dvips au temps pour moi.

          • [^] # Re: Exemple ?

            Posté par (page perso) . Évalué à 3.

            Tu n'as pas publié ta thèse sur HAL ou thèse en ligne?

  • # NOWEB

    Posté par (page perso) . Évalué à 4.

    Je profite de ton journal pour signaler que j'ai écrit des templates BSD Make pour faciliter l'écriture de classes LaTeX via NOWEB.

    Les templates sont là: http://home.gna.org/bsdmakepscripts

    NOWEB est un outil de programmation lettrée.

    http://www.cs.tufts.edu/~nr/noweb/

    BSD Make est une variante de make qu'on trouve sur les BSDs, sur FreeBSD il s'agit de make, sur NetBSD de bmake, sur debian on trouve un package pour `pmake'. Ces programmes sont différents mais tous un peu cousins.

    La partie sur NOWEB/LaTeX n'est pas documentée, mais en gros ça marche comme ça:

    PROJECT = monprojet
    VERSION = 0.1
    AUTHOR = Mon nom
    
    # NOTANGLE
    #
    #  Énumère les fichiers objets LaTeX
    NOTANGLE+= package1.sty
    NOTANGLE+= package2.sty
    NOTANGLE+= class1.cls
    NOTANGLE+= class2.cls
    
    # NOWEAVE
    #
    #  Nom de la documentation
    NOWEAVE = manuelduprojet
    
    # NOWEB
    #
    #  Énumère les sources
    
    NOWEB = file1.nw
    NOWEB+= file2.nw
    NOWEB+= file3.nw
    
    .include "noweb.latex.mk"
    

    Ensuite un coup de moulinette make (ou pmake ou bmake) crée une page web manuelduprojet.html, une documentation TeX (dvi ps ou pdf) et puis les fichiers de macros!

    S'il y a des gens curieux ou intéressés, n'hésitez pas à vous manifester!

  • # C'est la classe!

    Posté par . Évalué à -2.

    Désolé, il fallait que je la fasse.

    -> []

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.