Journal Memoire, une classe LaTeX pour les études littéraires.

Posté par . Licence CC by-sa
17
3
juin
2011

Bonjour à tous,

Ce premier journal est destiné à vous faire part de la naissance de ma ptite classe LaTeX nommée memoire. Elle est particulièrement destinée à la littérature, mais est susceptible de donner des idées aux moules de toutes sciences humaines. Voire à toutes les moules qui trouvent qu'une référence du style [RC66] au milieu d'un paragraphe ça fait tâche. J'espère qu'elle servira à certains d'entre vous.

Notons que cette classe s'inspire librement de la classe Bredele de Christophe Masutti. Elle en suit d'ailleurs la licence (GPL v3), vu que je lui ai piqué du code.

Alors c'est bien beau tout ça, mais que fait-elle de bien ? Je reprends alors bassement le wiki que je viens de rédiger à l'arrache :

  • Formatage standard du document : recto, 12pts, interligne 1,5.
  • Formatage correct des citations et des vers en interligne 1,5.
  • Les notes de bas de page sont continues sur tout le document.
  • Les titres sont variés (chiffres romains, alphabet…).
  • La bibliographie est gérée grâce à biblatex. Les op. cit., idem et ibidem sont gérés, et même la substitution de op. cit. par art. cit. dans le cas des articles. La citation en note de bas de page est rendue aisée par l'utilisation de la commande \footcite[]{}
  • Tous les champs sont séparés par des virgules. Ex : WEBER, Max, Le savant et le politique, trad. Julien Freund, Paris, Union générale d’éditions, 1963.
  • Les liens (footnotes, url, références, etc.) sont tous en noir.
  • Possibilité d'empêcher simplement les césures, en appelant la classe avec l'option sanscesure.

La susbstitution des op. cit. par art. cit. est quelque chose que je n'ai vu nulle part ailleurs (à part peut-être , mais l'explication n'est ni claire ni propre: l'exemple n'a jamais voulu compiler sur mon TeXLive 2010 sous Arch).

Le coup des césures virées proprement peut rendre un bon service. J'ignorais un jour que je serais obliger d'empêcher LaTeX de faire ses césures, car son gris typographique est excellent, mais passons.

Enfin, pour les virgules dans la biblio, c'était absolument impératif pour mon mémoire, et j'ai bien galéré dans les méandres de texmf-dist pour parvenir à un résultat correct.

On trouve la bête ici : https://gitorious.org/memoire
Et on trouve une doc succincte là : https://gitorious.org/memoire/pages/Home
J'ai tâché de détailler mes choix dans la classe elle-même pour en faciliter la modification.

  • # Compatibilité GPL - LPPL

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

    Je dois louper un truc. La classe Bredele de Christophe Masutti est en GPL3 mais elle s'appuie sur la classe book qui elle est en LaTeX Project Public License qui par certaines de ces clauses est incompatible avec la GPL.

    J'ai manqué quelque chose ?

    • [^] # Re: Compatibilité GPL - LPPL

      Posté par . Évalué à 2.

      À mon sens, il n'y a pas de problème. La classe book est sous LPPL, certes, mais la classe bredele ne pompe pas de code de la classe book. Elle y fait juste un appel. Il ne s'agit donc pas d'un Derived Work. Tu pourrais parfaitement avoir développé ta propre classe book. D'ailleurs, ma classe s'appuie sur report et pourrait tout autant s'appuyer sur book.

  • # Merci et unicode

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

    Merci beaucoup ! Je m'attaque bientôt à un mémoire, ça me sera probablement utile.

    Petite question : est-ce que ta classe fonctionne avec xetex ? Dans mes dernières tentatives, je n'ai jamais réussi à utiliser biblatex avec xetex, est-ce que c'est un problème auquel tu t'es frotté ?

    • [^] # Re: Merci et unicode

      Posté par . Évalué à 3.

      La réponse est non. Je me suis un peu penché sur XeLaTeX, mais pas suffisamment.

      Les choix de fonte, notamment, se font différemment. Et il ne faut pas utiliser babel mais polyglossia pour la gestion des langues. Moi, j'avais trois mots de grec, du latin et du français, alors je ne me suis pas pris la tête.

      Toutefois, pas mal de caractères unicodes sont pris en charge directement. Par exemple, lorsque j'ai rédigé, les balises :

      \og{}Texte entre guillemets\fg{}
      

      étaient au niveau du rendu PDF strictement équivalentes à :
      «~Texte entre guillemets~»
      

      Mais si tu veux adapter memoire pour XeLaTex, je suis preneur (je pense que n'importe qui d'un peu motivé peut le faire sans soucis excessifs).

      • [^] # Re: Merci et unicode

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

        «~Texte entre guillemets~»
        

        J'ai deux commentaires. Premièrement il me semble que l'espace séparant les guillemets du texte qu'ils délimitent est une espace fine, alors que le twiddle produit une bonne grosse espace. Deuxièmement les règles concernant les espaces fines en français sont suffisamment systématiques pour être confiées à des macros (ici un caractère actif avec catcode=13). Je préfère taper

        Il me dit alors: «Ouvre donc la porte à ton père!»
        

        et laisser TeX insérer lui-même les espaces fines nécessaires que de les ajouter moi-même!
        Pas vous?
        • [^] # Re: Merci et unicode

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

          Premièrement il me semble que l'espace séparant les guillemets du texte qu'ils délimitent est une espace fine

          Ça dépend des codes typographiques, certains préconisent une espace mot insécable pour ça.

          ici un caractère actif avec catcode=13

          C’est ce que je faisais il y a quelques années. J’ai arrêté quand j’ai commencé à encoder mes sources en UTF-8, puisque l’utilisation de catcode s’accomode mal de caractères codés sur plus d’un octet. Je suis repassé à l’utilisation de \og\fg, qui insèrent également les espaces requises toutes seules.

          • [^] # Re: Merci et unicode

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

            J’ai arrêté quand j’ai commencé à encoder mes sources en UTF-8, puisque l’utilisation de catcode s’accomode mal de caractères codés sur plus d’un octet.

            Je réfléchissais aussi à passer en unicode … je vais rester plus longtemps en Latin9. Qu'est-ce qui t'a poussé vers unicode? Je pense vraiment que l'insertion des espace correctes autour de ces signes de ponctuation est à laisser à la machine, si le passage à l'unicode rend ça plus difficile, c'est plutôt un inconvénient. Et les moteurs XeTeX ou Omega ont-ils les mêmes défauts?

            • [^] # Re: Merci et unicode

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

              Qu'est-ce qui t'a poussé vers unicode?

              Mon fichier de bibliographie, essentiellement, qui est rempli de papiers écrits par des auteurs ayant le mauvais goût de ne pas être européens de l’Ouest. Il n’est apparemment pas possible d’utiliser dans un document LaTeX encodé en Latin-1 un fichier de bibliographie encodé en UTF-8 (en tout cas ça ne marchait pas du tout quand j’ai essayé).

              J’ai considéré les différentes possibilités, et j’ai trouvé que le plus simple était de basculer complètement du côté obscur^W^W^W en UTF-8.

              Je pense vraiment que l'insertion des espace correctes autour de ces signes de ponctuation est à laisser à la machine, si le passage à l'unicode rend ça plus difficile, c'est plutôt un inconvénient.

              L’impossibilité d’utiliser catcode sur des caractères hors-ASCII s’est révélé être le seul problème posé par le basculement en UTF-8, donc ça me va. Et les commandes \og\fg insèrent aussi les espaces correctes.

              Et les moteurs XeTeX ou Omega ont-ils les mêmes défauts?

              Ça en revanche, aucune idée, jamais essayé.

              • [^] # Re: Merci et unicode

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

                Mes fichiers de bibliographie sont codés en ASCII-7, les caractères non représentables sont notés comme dans le court exemple suivant:

                 PUBLISHER = {Soci\'eteaee79d04d47df462744e883364201dcbe7f9f34#39;e Math\'ematique de France},
                

                Les fichiers de bibliographie ne devraient pas imposer leur encodage: que se passe-t'il si tu utilises plusieurs ficheirs avec des encodages différents? La solution est de les coder en ASCII-7.

                les commandes \og…\fg insèrent aussi les espaces correctes.

                Le problème est que ça rallonge beaucoup la frappe, et puis cela enlève un peu son intérêt à UNICODE pour la saisie, puisque un des intérêts est justement de permettre
                d'éviter de taper les commandes spéciales pour saisir tous ces caractères.

                P.S.: la sortie de la séquence BACKSLASH QUOTE est assez spéciale dans le syntax highlighting TeX du site:

                 PUBLISHER = {Soci266a0ecd2f4e11ce6827fd45cc55351ac4d7246c#39;et266a0ecd2f4e11ce6827fd45cc55351ac4d7246c#39;e Math266a0ecd2f4e11ce6827fd45cc55351ac4d7246c#39;ematique de France},
                
                • [^] # Re: Merci et unicode

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

                  Mes fichiers de bibliographie sont codés en ASCII-7, les caractères non représentables sont notés comme dans le court exemple suivant:

                  C’est une solution que j’ai considérée et que j’ai tenu à éviter. Mon fichier de bibliographie ne me sert pas qu’au moment de compiler un document, je m’en sers aussi pour gérer ma bibliographie, et les séquences d’échappement à-la-TeX ne sont pas toujours les bienvenues (par exemple, je n’ai pas envie de devoir écrire Gim\'enez dans un champ de recherche pour retrouver les papiers d’un dénommé Giménez. Certes j’imagine qu’on doit pouvoir trouver des outils de gestion bibliographique capables de traduire automatiquement é en \'e avant de lancer la recherche mais ce n’est pas le cas de ceux que j’utilise.

                  Les fichiers de bibliographie ne devraient pas imposer leur encodage

                  Ils le font de toute façon, que ce soit un encodage UTF-8 ou un encodage « 7-bits + séquences d’échappement propres à TeX » ; l’avantage de l’UTF-8 est qu’il supporté par un poil plus de programmes au-delà du monde TeX.

                  que se passe-t'il si tu utilises plusieurs ficheirs avec des encodages différents?

                  Je travaille exclusivement en UTF-8 désormais. Si je viens à récupérer un fichier de bibliographie encodé autrement, je le transcoderai, tout simplement (ce qui au passage sera plus pénible avec un fichier encodé en « 7-bits + séquences d’échappements propres à TeX » qu’en n’importe quel autre encodage).

                  Le problème est que ça rallonge beaucoup la frappe

                  Bof, s’il n’y avait que ça qui rallonge la frappe dans un source LaTeX…

                  • [^] # Re: Merci et unicode

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

                    Les fichiers de bibliographie ne devraient pas imposer leur encodage

                    Ils le font de toute façon, que ce soit un encodage UTF-8 ou un encodage « 7-bits + séquences d’échappement propres à TeX »

                    Je voulais dire que les fichiers de bibliographie comme tous les fichiers dont el contenu va à un moment ou l'autre être inputé par TeX et non produits par l'utilisateur devraient se comporter de la même façon quelque soit le codage de document choisi par l'utilisateur … sinon c'est la cagate assurrée.

                    Mes fichiers de bibliographie sont codés en ASCII-7, les caractères non représentables sont notés comme dans le court exemple suivant:

                    C’est une solution que j’ai considérée et que j’ai tenu à éviter […]

                    Pourtant le codage ASCII-7 pour les fichiers de bibliographie et utilisé par plusieurs grosses bases de données bibligraphiques (pour les fichiers BibTeX) comme mathscinet ou citeseer. À mon avis, la bonne approche est de générer le fichier BibTeX à partir d'une autre donnée qui, elle, est en unicode si tu aimes bien unicode.

                    Qu'est-ce que tu utilises pour faire tes recherches bibliographiques dans ta base de données?

                    • [^] # Re: Merci et unicode

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

                      Je voulais dire que les fichiers de bibliographie comme tous les fichiers dont el contenu va à un moment ou l'autre être inputé par TeX et non produits par l'utilisateur devraient se comporter de la même façon quelque soit le codage de document choisi par l'utilisateur … sinon c'est la cagate assurrée.

                      Quelle importance ? C’est mon fichier de bibliographie que j’utilise dans mes documents, je maîtrise la chaîne de bout en bout.

                      Si je récupère une bibliographie venue d’ailleurs, je la transcode en UTF-8 et il n’y a ps de problème. Si je dois passer ma bibliographie à une tierce personne, je peux la lui fournir en UTF-8 et il peut la transcoder dans l’encodage qu’il veut (s’il me le demande gentiment je peux mêmer effectuer le transcodage moi-même).

                      Pourtant le codage ASCII-7 pour les fichiers de bibliographie et utilisé par plusieurs grosses bases de données bibligraphiques (pour les fichiers BibTeX) comme mathscinet ou citeseer.

                      LE 7-bits + séquences d’échappements à la TeX n’est pas proposé comme encodage d’export par PubMed ; c’est soit du 7-bits tout court (autrement dit, avec tous les caractères hors ASCII remplacés par des caractères ASCII, genre tous les e accentués remplacés par un e normal, etc.) soit du XML encodé en UTF-8. C’est ce dernier format que je récupère, et que je convertis en BibTeX toujours encodé en UTF-8.

                      À mon avis, la bonne approche est de générer le fichier BibTeX à partir d'une autre donnée qui, elle, est en unicode si tu aimes bien unicode.

                      Oui, c’est ce que je fais. mais je génère le fichier BibTeX en UTF-8. Pourquoi ? Cf. plus haut : c’est mon fichier que j’utilise avec mes documents.

                      En fait, pendant un temps j’ai généré un fichier BibTeX en 7-bits + séquences d’échappements à la TeX. Comme je ne connais pas d’outils permettant de transcoder directment dans ce pseudo-encodage, j’avais un script sed tout con qui remplaçaient tous les caractères exotiques par des séquences d’échappement. Ça marchait bien au début, jusqu’à ce que j’en ai marre de devoir ajouter une ligne dans le script à chaque fois que je tombais sur une entrée bibliographique contenant un caractère que je n’avais encore jamais vu. Et puis j’ai tout simplment fini par en avoir marre de ce que je prenais fondamentalement pour un bricolage bancal alors que l’UTF-8 permet précisément d’éviter tous ces problèmes.

                      Ça a l’air difficile à croire par ici, mais personnellement l’UTF-8 me simplifie la tâche au lieu de me la compliquer.

                      Qu'est-ce que tu utilises pour faire tes recherches bibliographiques dans ta base de données?

                      JabRef.

      • [^] # Re: Merci et unicode

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

        la solution la plus simple pour les guillemets corrects est d'utiliser le package csquotes.

        Puis ensuite d'utiliser la commande enquote

        \enquote{Texte entre guillemet français qui cite un \enquote{texte entre guillemet court}}
        
  • # Orthographe

    Posté par . Évalué à -2.

    s/serais obliger/serais obligé/, évidemment.

  • # Je me sens moins seul

    Posté par . Évalué à 3.

    Très bonne initiative de publier ta classe!

    Pour une thèse en droit, je suis arrivé à un résultat assez proche en ce qui concerne la partie biblatex. Je constate que nous avons fait beaucoup de choix identiques!
    Ton astuce pour art. cit est pas mal trouvée.

    Pour ma part, j'ai dû aller plus loin dans le tuning de Biblatex:
    - impression des auteurs en: NOM (Prénom)
    - nouveaux types d'entrées bibliographiques propres au droit (legislation, jurisdiction, commentary)
    - modification de types d'entrée existants
    - différences de style en fonction de la langue de l'entrée biblio (c'est une thèse en droit comparé France-Angleterre-Europe).

    Du coup j'ai lâché l'idée de mettre toutes ces modifs dans un fichier de classe. J'ai dû créer des fichier .bbx/.cbx dédiés.

    En ce qui concerne les césures, j'aurai peut-être le même problème que toi: il semblerait que la césure des mots dans des titres de section ne soit pas acceptée dans les règles de typographie françaises...

    • [^] # Re: Je me sens moins seul

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

      Très bonne initiative de publier ta classe!

      Fabrice avait fait pareil en son temps.
      Quoique Fabrice en Latex, je n'ose y penser!

      Prochainement, je vous proposerai peut-être un commentaire constructif.

    • [^] # Re: Je me sens moins seul ; Moi aussi tout d'un coup !:)

      Posté par . Évalué à 2.

      Je suis content de voir qu'il y a d'autre personne dans la même situation que moi , essayer de rédiger un travail juridique sous un moteur Tex/Latex c'est un peu la galère niveau bibliographie et note infrapaginale . Ca fait du bien ... :)

      Pour ma part j'avais cherché des fichiers de styles pour automatiser ma bibliographie sous biblatex , mais ne connaissant pas bien l'outil , je me suis réduit à taper manuellement mes bibliographie (ce qui est un comble lorsqu'on utilise un moteur Tex/latex ) .

      J'ai néanmoins trouvé sur le net , des fichiers styles pour biblatex, mais en droit anglo-saxon ( avec leurs styles bibliographiques propres dès lors ) http://willhardy.com.au/aglc-and-latex/
      l'auteur utilise biblatex avec Lyx pour écrire ses essais de doctrine (dont un sur les licences open source en common law : http://willhardy.com.au/legal-essays/oss-consideration/detail/ )

      Actuellement, je suis encore à la recherche de fichiers adapté pour la bibliographie en droit (je ne sais pas si les règles de bibliographie sont identique en france et en belgique , mais je suppose que cela doit être assez proche ) .

      Je suis en train d'utiliser GNU Texmacs ( http://www.texmacs.org/ ) pour rédiger mes travaux , et je ne connais pas du tout biblatex ( j'ai vaguement joué avec bibtex , mais comme il était assez inadaptés , je n'ais jamais continuer à l'utiliser )

      Donc plusieurs questions me viennent dès lors à l'esprit :

      Est-ce que tes fichiers sont libres et disponibles quelque part sur la toile ?

      Si oui aurais-tu des bonnes pistes pour comprendre et modifier ceux-ci (urls , tuto , j'avais cherché à l'époque mais j'avais l'impression que comprendre biblatex était largement au dessus du temps que je pouvais investir (le blue book de biblatex est énorme ))

      Travail tu direct code sous Latex ou bien avec du Lyx ou Texmacs (ou autre ) en interface, qu'en penses-tu ?

      Pour ma part je trouvais que le problème de Latex était de mélanger du code source Tex avec le contenu de ton texte. Ce qui le rend ton texte source un peu moin lisible (bien entendu au niveau du rendu je trouve cela très bien , sinon j'utiliserais LibreOffice /OpenOffice :) .

      • [^] # Re: Je me sens moins seul ; Moi aussi tout d'un coup !:)

        Posté par . Évalué à 1.

        J'utilise Kile depuis Ubuntu. J'avais regardé le principe de Lyx à une époque mais je n'adhère pas au principe de masquage des balises. Kile propose un compromis intéressant: les balises sont visibles mais le soft les affiche en couleur pour une meilleure lisiblité.

        Pour la bibliographie, j'utilise Jabref et ce pour 2 raisons:
        - les champs associés aux types d'entrée biblio sont modifiables, ce qui laisse beaucoup de marge de manoeuvre pour de la custo Biblatex.
        - il y a un système d'export de citation super pratique: par double-clic sur une entrée biblio de clé "mykey", une commande cite{mykey} est copiée dans Kile à la position courante. Chose amusante, il semble que cela se base sur un outil interne de Lyx (lyxpipe).

        Je n'ai pas publié mon style biblatex sur le net (je ne sais pas vraiment où le mettre d'ailleurs). Je peux te l'envoyer via gtalk si tu veux.

  • # Meilleur nommage ?

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

    Est-ce que tu n'as pas peur qu'avec un nom pareil, ta classe soit confondue avec la classe memoir ?

    http://www.ctan.org/tex-archive/macros/latex/contrib/memoir/

    Adhérer à l'April, ça vous tente ?

    • [^] # Re: Meilleur nommage ?

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

      Très juste! En général il vaut mieux ne pas utiliser des noms trop génériques pour les classes, quitte à en faire des alias locaux à son cycle de production.

  • # op cit. vs art. cit

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

    Je suis l'auteur de l'article sur les art. cit.

    je suis vraiment étonné que tu signale que cela n'ait pas marché chez toi, puisque c'est exactement la technique que tu utilise dans ta classe ;-)

    J'avoue ne pas saisir. par contre je reconnais que l'article n'est pas très clair, vu qu'il nécéssite des connaissances préalables. Mais c'est juste une note de dev.

Suivre le flux des commentaires

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