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 19/05/2006, à 17:15

Skippy le Grand Gourou

[Résolu] Commande LaTeX : espace automatique

Salut,

Ça me dérange un peu de poster ça ici, vu que c'est pas vraiment un problème linux et encore moins ubuntu, mais je sais pas trop comment chercher ce genre de chose sur gogole sans y passer trois mois... Alors que je suis sûr qu'il y aura bien une bonne âme ici pour me faire partager ses connaissances, et que le topic coulera dans les fins fonds des archives du forum sans que personne ne s'en rende compte. tongue Et pis de toute façon, faute avouée à moitié pardonnée, non ? big_smile

Voilà le problème : je défini pour mon rapport de stage des commandes qui reviennent souvent, telles que \def\cer{\v{C}erenkov} qui me permet d'écrire Cerenkov avec un zouli accent circonflêxe inversé sans avoir à me retaper les "alt-gr" accolades à chaque fois. Jusqu'ici tout va bien. Oui mais : si j'écris par exemple "Le détecteur \cer est un détecteur \cer.", j'obtiens le résultat : "Le détecteur Cerenkovest un détecteur Cerenkov."
Il manque un espace après le premier Cerenkov ! Je suis donc obligé de faire suivre mon \cer d'un tilde (~), ce qui pose d'autres problèmes, et si je rajoute l'espace dans la commande j'ai un espace avant les points...

Donc est-ce que quelqu'un aurait une technique pour que latex détecte l'espace tout seul comme un grand (et sans créer une commande spéciale pour le cas où on a un point) ?

Merci.

Dernière modification par Skippy le Grand Gourou (Le 28/05/2006, à 00:15)

Hors ligne

#2 Le 19/05/2006, à 17:20

Black_pignouf

Re : [Résolu] Commande LaTeX : espace automatique

Salut!

Le détecteur \cer{} est un détecteur \cer.

ce qui est valable pour toutes les commandes LaTeX (genre \ss par exemple). Si tu mets "\cerest", il ne connaît pas la commande "cerest", et si tu mets "\cer est", comment lui faire comprendre que tu veux un espace? Avec {}! wink

Hors ligne

#3 Le 19/05/2006, à 17:28

Skippy le Grand Gourou

Re : [Résolu] Commande LaTeX : espace automatique

roll C'est toujours aux trucs les plus simples qu'on ne pense pas quand on en a besoin... Merci ! wink

Edit : Enfin oui mais non : si je mets mon {} dans la commande il ne la voit pas non plus, et si je dois me taper les accolades à chaque fois, ma nouvelle commande ne sert à rien, c'est plus rapide de tout taper directement... hmm

Edit 2 : C'est bon, ça me suffit, en faisant \cer\ ça marche aussi bien, et c'est quand même bien plus rapide. Désolé pour le dérangement... wink

Dernière modification par Skippy le Grand Gourou (Le 19/05/2006, à 17:44)

Hors ligne

#4 Le 19/05/2006, à 17:52

Skippy le Grand Gourou

Re : [Résolu] Commande LaTeX : espace automatique

Non, c'est pas satisfaisant non plus, ça a exactement le même effet que le tilde, et donc par exemple ça saute pas à la ligne entre les deux mots... hmm

D'autres suggestions ?

Hors ligne

#5 Le 19/05/2006, à 18:24

Mathieu147

Re : [Résolu] Commande LaTeX : espace automatique

et

Le détecteur \cer{ }est un détecteur \cer.

? (espace dans l'accolade et pas après)

(solution non testée)


Pffff…

Hors ligne

#6 Le 19/05/2006, à 19:21

Skippy le Grand Gourou

Re : [Résolu] Commande LaTeX : espace automatique

Non, le coup des accolades fonctionne, mais enlève tout intérêt à ma commande-raccourci qui a justement pour but de m'éviter de chercher les accolades cachées sur ce p*tain de clavier azerty... mad

Hors ligne

#7 Le 19/05/2006, à 20:20

Black_pignouf

Re : [Résolu] Commande LaTeX : espace automatique

ça dépend de ton éditeur, mais tu peux bien configurer un raccourci-clavier pour rajouter {} facilement, non?

Et ca m'étonnait effectivement que le coup des accolades ne fonctionnent pas, c'est pourquoi je n'ai rien dit big_smile

Tchüssy!

Hors ligne

#8 Le 19/05/2006, à 20:48

Skippy le Grand Gourou

Re : [Résolu] Commande LaTeX : espace automatique

Mouais, le truc c'est que suivant que je me trouve chez moi ou au taf, j'utilise kile ou nedit, mais c'est effectivement le plus simple. Bon, je passe le sujet en [Contourné], parce que je suis sûr qu'il y a quand même moyen de faire une macro latex qui ferait ça. wink

Mais merci pour la suggestion, que je vais de ce pas utiliser ! big_smile

Hors ligne

#9 Le 19/05/2006, à 21:04

Black_pignouf

Re : [Résolu] Commande LaTeX : espace automatique

Quoi donc? Une macro qui lit dans tes pensées pour savoir si tu veux un espace après ta commande ou non? roll

Ce sera pas pour Dapper, peut-être Edgy par contre. big_smile


modif:

bon c'est moche, mais tu peux toujours faire

\def\cer{\v{C}erenkov}
\def\cere{\v{C}erenkov }
Le détecteur \cere est un détecteur \cer.

\cere, comme \cerespace! wink

Dernière modification par Black_pignouf (Le 19/05/2006, à 21:09)

Hors ligne

#10 Le 27/05/2006, à 13:43

nich2chien

Re : [Résolu] Commande LaTeX : espace automatique

salut!
j'espère que je ne déterre pas trop le sujet, mais il me semble qu'en mettant un \ ca fonctionne:

Le détecteur \cer\ est un détecteur \cer.

Hors ligne

#11 Le 27/05/2006, à 20:10

Skippy le Grand Gourou

Re : [Résolu] Commande LaTeX : espace automatique

Tiens, j'avais pas lu le dernier post de Black_Pignouf... N'allons pas jusqu'à lire dans mes pensées, mais détecter si le mot est suivi d'un point ou d'une virgule ou non, et le cas échéant de mettre un espace. LaTeX EST capable de le faire, j'en suis sûr.

nich2chien > Oui, c'est ça que j'utilise, cf post 3, mais ça fait un espace insécable... hmm

Hors ligne

#12 Le 27/05/2006, à 20:26

nich2chien

Re : [Résolu] Commande LaTeX : espace automatique

oups, autant pour moi.

Hors ligne

#13 Le 27/05/2006, à 21:48

fantomas62

Re : [Résolu] Commande LaTeX : espace automatique

Il y a une commande qui existe pour pallier à ce probléme.
Pour cela, il faut utiliser le package xspace, qui est inclu en standard
dans latex.

Pour cela, il faut déjà déclarer ce package dans ton fichier .tex :

\usepackage{xspace}

Ensuite, déclare ta macro, en rajoutant la commande \xspace à la fin :

\def\cer{\v{C}erenkov\xspace}

Lors de la compilation du fichier latex, xspace va detecter si il doit
ou non rajouter un espace à la suite de ta macro. Par exemple,
avant un signe de ponctuation, xspace ne rajoutera pas d'espace,
alors qu'il en rajoutera un si un autre mot suit le texte qui vient d'être
inclut par la macro.

Hors ligne

#14 Le 28/05/2006, à 00:13

Skippy le Grand Gourou

Re : [Résolu] Commande LaTeX : espace automatique

Aaaaah... Je savais bien qu'il y avait une solution ! Merci. big_smile

Juste un petit détail, xspace ne prend pas en compte les points de suspension (/dots). Il suffit d'éditer le fichier xspace.sty (/usr/share/texmf-tetex/tex/latex/tools/xspace.sty), et rajouter la ligne \ifx\@let@token\dots\else, et au passage faire de même avec tout ce qu'on veut qui n'y est pas déjà... wink

Hors ligne

#15 Le 13/07/2009, à 14:47

Vincent cosmo

Re : [Résolu] Commande LaTeX : espace automatique

Soyons bourrins:

\def\cer{\text{\v{C}erenkov}}

Et l'appel de la macro:

$\cer$

tongue

Dernière modification par Vincent cosmo (Le 13/07/2009, à 14:48)

Hors ligne