auctex
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[AUCTeX] Emacs + AUCTeX + cœur LaTeX + MiKTeX + Nom de fichier avec cara


From: vincent . belaiche
Subject: [AUCTeX] Emacs + AUCTeX + cœur LaTeX + MiKTeX + Nom de fichier avec caractères accentués
Date: Fri, 28 Sep 2018 06:31:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (windows-nt)

The following message is a courtesy copy of an article
that has been posted to fr.comp.text.tex,fr.comp.applications.emacs as well.

Bonjour,

Récemment je suis tombé sur un problème que je n'avais pas avant.

Voilà la chose : lorsque j’essaie de compiler un document comprenant une
lettre accentuée, par exemple liberté.tex ça ne marche plus.

Je réfute d'avance la réponse qui serait d'écrire liberte au lieu de
liberté, je ne connais pas plus Liberte qu'Alberte, et c'est juste une
question de choix, je préfère la tracasserie de tomber de temps en temps
dans ce genre de nid de poule en utilisant des lettres accentuées dans
les noms de fichier à celle consistant à écrire les noms de fichiers
sans accents, en franquais plutôt qu'en français.

J'utilise AUCTeX sur MiKTeX, mais j'ignore si le souci vient du portage
de pdflatex que fait MiKTeX ou bien du cœur LaTeX. À moins que ce soit
une mise à jour d'Emacs qui change le comportement d'AUCTeX.

En regardant en détail ce qui se passe, AUCTeX ne fait que appeler la
commande

   pdflatex \input liberté.tex

(avec quelques guillemets que je supprime ici parce que les guillemets
ne sont pas les mêmes en DOS et en Unix, et que ce n'est pas le problème
ici).

Cette commande échoue parce que liberté y est interprété comme du code
LaTeX et que le é va donc donner autre chose que la suite des deux octets
C3 A9 en hexa.

Il m'a suffit pour corriger le problème de bidouiller AUCTeX pour qu'il
appelle

   pdflatex liberté.tex


Pour que ça passe. Dans ce cas pdflatex interprète liberté.tex comme un
nom de fichier.

Au cas où d'autres tomberaient dans le même problème voici ce que j'ai
dû faire sous AUCTeX — la modif n'était pas si triviale, alors je la
donne — dans mon fichier d'init j'ai défini cette fonction:

--8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
(defun my-latex-input-expander ()
  (prog1
        (if
            (stringp TeX-command-text)
            (progn
              (setq TeX-command-pos
                    (and
                     (string-match " "
                                   (funcall file t t))
                     "\"")))
          (setq TeX-command-pos nil)
          "")
      (setq TeX-command-text nil)))
--8<----8<----8<----8<----8<--  end  -->8---->8---->8---->8---->8----

Et ensuite j'ai customisé TeX-expand-list pour que ça vaille

--8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
   '(("%'" vbl-latex-input-expander))
--8<----8<----8<----8<----8<--  end  -->8---->8---->8---->8---->8----

Voici ce que ça donne dans le tampon de customisation :

--8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
Hide Tex Expand List:
INS DEL Key: %'
            Expander: vbl-latex-input-expander
            Arguments:
            INS
INS
    State : SAVED and set.
--8<----8<----8<----8<----8<--  end  -->8---->8---->8---->8---->8----

Enfin bref, ça a résolu mon problème, mais j'écris ici pour savoir si
quelqu'un connais le changement qui l'a produit :

- Est-ce un changement du cœur LaTeX (\input ne se comportant plus comme
  avant)

- Est-ce un changement d'Emacs — ma version :

   GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32) of 2018-08-10

  je suspecte qu'il  faisait une conversion utf-8 → windows-1252 dans
  les versions précédente, ce qu'en tout cas visiblement il ne fait pas
  dans ma version actuelle.

- Est-ce un changement dans le moteur pdflatex de MiKTeX

- Est-ce un changement dans AUCTeX (j'en doute, je n'ai pas remis à jour
  depuis très longtemps).

J'ai tendance à penser que c'est Emacs qui a changé car c'est le truc
que j'ai remis à jour le plus récemment.

  V.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]