Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/10/2009, à 14:13

no_spleen

latex + vim + accents

Bonjour à tous,

J'écris en LaTeX sur un pc linux et sur un mac, et j'envoie mes .tex à des personnes sur windows... J'en ai marre de jouer avec l'encodage pour les caractères accentués ! J'envisage donc 2 solutions pour régler le problème mais je ne sais pas comment faire

1) Est-il possible de configurer VIM pour qu'il traduise automatiquement les é en \'{e} lors de l'enregistrement, mais m'affiche bien des é lors de l'édition ?

2) Si la première solution n'est pas possible, existe-t-il un outil en ligne de commande pour faire la conversion, utilisable dans un makefile qui me compilerai mes documents ?

Un grand merci pour votre aide,

Sébastien

Hors ligne

#2 Le 13/10/2009, à 14:31

gigiair

Re : latex + vim + accents

La commande recode ..TeX <fichier> remplace tous les caractères accentués par leur encodage TeX.
la manoeuvre inverse est recode TeX..  Il doit bien être possible de bricoler quelque chose qui importe et qui exporte.

Maintenant, si tu enregistre tes fichiers en utf-8 il me semble  qu'il y n'y a pas nécessité de convertir. Il suffit de mettre
\usepackage[utf8x]{inputenc} dans le préambule.
Je ne sais pas si ça te suffit, je ne peut guère t'aider plus.  Je suis Emacsien et j'enregistre tout en utf-8. De plus, la conversion en encodage TeX est un jeu d'enfant sous Emacs. tongue

Dernière modification par gigiair (Le 13/10/2009, à 14:44)


--
JJR.

Hors ligne

#3 Le 13/10/2009, à 14:38

no_spleen

Re : latex + vim + accents

C'est un package LaTeX ?
As-tu un lien vers les sources ?

Hors ligne

#4 Le 13/10/2009, à 14:45

gigiair

Re : latex + vim + accents

recode est une commande linux classique.

sudo aptitude install recode
info recode

Dernière modification par gigiair (Le 13/10/2009, à 14:46)


--
JJR.

Hors ligne

#5 Le 13/10/2009, à 14:53

no_spleen

Re : latex + vim + accents

OK, mais comme j'écris aussi sur mac il faudra que je l'installe des deux côtés. Je vais chercher les sources...

Un grand merci !

Hors ligne

#6 Le 13/10/2009, à 15:06

no_spleen

Re : latex + vim + accents

Hors ligne

#7 Le 14/10/2009, à 09:28

no_spleen

Re : latex + vim + accents

Bon, la solution recode ne me satisfait pas vraiment.

En effet, si elle fonctionne nickel sur linux, ca ne marche pas sur mac (des problèmes de dépendances avec iconv).

Comment m'y prendre pour réaliser un genre de plugin pour vim permettant avec une commande d'effectuer tous les remplacements

é -> \'{e}
è -> \`{e}
ï -> \"\i
à -> \`{a}
ù -> \`{u}

ainsi que les remplacements inverses ?

Quelqun peux me proposer une piste ?

Hors ligne

#8 Le 14/10/2009, à 10:25

ludovic889

Re : latex + vim + accents

salut

un petit script sed ? (à condition que ça existe sous macox)
http://www.faqs.org/faqs/culture-french-faq/language/

ps : dans la même veine de recode, il y a iconv.
as-tu essayé sous mac ?
il y a une interface en ligne ici : http://www.iconv.org/

Dernière modification par ludovic889 (Le 14/10/2009, à 10:32)


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne

#9 Le 14/10/2009, à 10:43

gigiair

Re : latex + vim + accents

Une autre solution (?) est d'utiliser Emacs
M-x format-{en|de}code-{buffer|region} TeX
Ça marche sous Linux, sous Mac, et même sous Ouindauze.

Dernière modification par gigiair (Le 14/10/2009, à 10:43)


--
JJR.

Hors ligne

#10 Le 14/10/2009, à 16:24

Sorlingues

Re : latex + vim + accents

Bonjour,

J'ai hésité à poster parce que ce que je vais écrire ne répond pas à la question. hmm

En fait je pense vraiment que no_spleen prend le problème à l'envers : la solution ne consiste pas à zapper les accents pour en revenir à un ascii dépassé mais bien d'utiliser correctement un bon éditeur (sous Windows et Linux).

Ascii est dépassé ! C'est « mal » d'utiliser \'{e} et autres fantaisies du style parce que cela fout la m... dans les césures. Sans entrer dans les détails, \'{e} n'est pas vu comme un « é » mais comme un « e » avec accent dessus et ce n'est pas traité de la même façon.

La solution est donc d'apprendre à bien déclarer son codage et à utiliser un logiciel qui sait le gérer facilement. Il n'y a aucun problème à utiliser Vim sous Windows et il saura quoi faire de ton code en utf-8. C'est à mon sens la meilleure solution. Mais il faut apprendre à ces correspondants windowsiens comment faire et ça risque d'être difficile.

Si les correspondants sous windows ne sont pas capables d'utiliser Vim ou un autre éditeur convenable et n'y comprennent rien au codage, alors il faut travailler avec un fichier encodé comme Windows et, sous linux, dire à Vim et Latex de travailler avec cet encodage. Ce n'est vraiment pas difficile.

En pratique, si quelqu'un crée un fichier latex sous windows, tu le laisses faire « normalement » avec son codage windows. Il te l'envoie et tu le retravaille sans rien faire sous ton linux sans problème : vim est en principe assez grand pour reconnaître le codage de windows (sinon :set fenc=cp1252). Enfin je crois que c'est cp1252 ; à vérifier ! J'utilise jamais windows moi.

Au contraire, si toi tu crées un nouveau fichier latex sous linux et que tu sais qu'il sera retravaillé par un windowsien : tu crées ton tex avec gvim, tu tapes

:set ff=dos
:set fenc=cp1252

et tu tapes ton latex en y incluant le \usepackage[ansinew]{inputenc}
et ça ira tout seul chez toi et chez les windowsien.

Et si comme moi tu n'aimes pas conserver des fichiers dans ce codage barbare, quand le travail collaboratif est terminé, tu gardes ta copie en l'ouvrant avec vim, en lui lançant un petit

:set fenc=utf8

et en remplaçant le ansinew par utf8 avant de l'enregistrer définitivement.

Hors ligne

#11 Le 14/10/2009, à 20:35

no_spleen

Re : latex + vim + accents

Merci,

Je crois en effet que la meilleure solution est celle proposée par Sorlingues. J'ai essayé aujourd'hui d'envoyer un fichier à un windaubien avec des \'{e}, il n'a pas trop aimé !

Je vais écrire mes documents en utf8, et enregistrer une copie en cp1252 pour les autres.

Juste une question :

fenc -> encodage des fontes
ff -> pour quoi ?

Hors ligne

#12 Le 15/10/2009, à 08:49

ludovic889

Re : latex + vim + accents

salut

tu lances (g)vim et tu fais :he ff (:he == help)
et tu obtiens

'fileformat' 'ff'	chaîne	(défaut sur MS-DOS/Windows et OS/2 : "dos",
					sur Unix : "unix",
					sur Macintosh : "mac")
			local à un tampon
			{absent de Vi}
	Donne le format de fin-de-ligne (<EOL>) du tampon courant, qui est
	utilisé pour lire/écrire ce tampon depuis/dans un fichier :
		dos	<CR><NL>
		unix	<NL>
		mac	<CR

(j'ai la doc en français)


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne