Incompatibilité avec frenchb

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Incompatibilité avec frenchb

Messagepar jobherzt » Mardi 27 Février 2007, 18:19

Bien le bonjour,

je rencontre un probleme assez contrariant, desolé c'est un peu particulier : je dois pour un memoire avoir la possibilité de dessiner des tableaux de Young, cad des ensembles de cases dont les lignes sont justifiées a gauche, un peu comme ca :

Code: Tout sélectionner
|1|2|
|1|2|4|
|3|5|6|7|


j'ai trouvé un package qui s'appelle youngtab que j'ai trouvé ici : http://ftp.ktug.or.kr/tex-archive/macro ... /youngtab/ et qui donne un tres bon resultat, il suffit que je tapes (pour le tableau du dessus)
Code: Tout sélectionner
\young(12,124,3567)

le probleme c'est que je dois aussi dessiner des tableaux "gauche", cad des tableaux auquel on a enlevé un bout en bas a gauche, genre :
Code: Tout sélectionner
|1|2|
   |2|4|
      |6|7|8|9|


le package prevoit cela aussi, en introduisant dans la commande des ':' qui marquent le decalage, ca donnerait un truc de ce genre.
Code: Tout sélectionner
\young(12,:24,::6789)


sauf que... pour une raison totalement inexpliqué, si je met en preambule le fameux :
Code: Tout sélectionner
\usepackage[frenchb]{babel}

le comportement des tableaux "gauche" devient bizzare : le decalage se fait bien, mais il affiche en plus les : !! cad qu'au lieu de
Code: Tout sélectionner
|1|
   |2|3|

j'ai

Code: Tout sélectionner
|1|
   |:|2|3|


je ne sais pas comment est fait le package en interne, il ne doit pas etre tres compliqué, mais je ne vois vraiment pas comment le changement de langue peut effecter son comportement. et omme vous le voyez, ca n'est pas simplement que ca ne marche pas, le decalage se fait bien...

donc a votre avis :

- est ce que je peux trifouiller dans le ficjier. sty pour regarder (je le sens pas trop..)
- est ce que je passe en anglais et que je redefinis tout (theoreme, chapitre, biblio, date.) pour avoir tout bien en francais (risque d'etre compliqué)
- j'utilise un autre moyen pour passer en francais ?
- je met mon clignotant, et je double ? (rien a voir ca :) )
- autre reponse...

Merci d'avance pour toute idee non debile !!
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Publicité

Messagepar EricK » Mardi 27 Février 2007, 19:00

Pas de panique, le problème se résout en lisant la doc du package frenchb. En fait frenchb redéfinit certains signes de ponctuation pour insérer un espace avant (tous les signes de ponctuation composés doivent être précédés d'un espace en typographie française) et c'est incompatible avec certains packages utilisant ces signes de ponctuation (le premier exemple qui me vient en tête est xypic). Heureusement, il y a une commande inclut dans frenchb pour régler ce problème :

{\shorthandoff{;:!?} liste des commandes à exécuter }
Dernière édition par EricK le Mardi 27 Février 2007, 19:07, édité 2 fois.
EricK
Téra-utilisateur
 
Messages: 1483
Inscription: Jeudi 02 Novembre 2006, 22:38
Statut actuel: Actif et salarié | Enseignant

Messagepar jobherzt » Mardi 27 Février 2007, 19:01

c'est justement ce que j'etais en train de decouvrir, je ne savais pas que latex ajoutais cet espace insecable tout seul :-)

merci pour l'astuce !! je vais tester ca !
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar jobherzt » Mardi 27 Février 2007, 19:04

ca marche nickel !! je vais essayer de faire un renewcommand pour ne pas m'emm.. avec ca plus longtemps ! encore merci !

[edit]
en fait, la commande \young s'appelle avec des parenthese et non avec des accolades comme les commandes habituelles.. comme je peut la "renewcommander" dans ce cas ?
Dernière édition par jobherzt le Mardi 27 Février 2007, 19:07, édité 1 fois.
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar EricK » Mardi 27 Février 2007, 19:04

Au passage, cela veut aussi dire que l'orsqu'on utilise frenchb, il ne faut pas mettre d'espace devant une ponctuation, Latex le fera tout seul comme un grand et en plus, l'espace sera insécable.
EricK
Téra-utilisateur
 
Messages: 1483
Inscription: Jeudi 02 Novembre 2006, 22:38
Statut actuel: Actif et salarié | Enseignant

Messagepar EricK » Mardi 27 Février 2007, 19:06

jobherzt a écrit:ca marche nickel !! je vais essayer de faire un renewcommand pour ne pas m'emm.. avec ca plus longtemps ! encore merci !


Pas de quoi. J'ai galéré très longtemps avant de trouver comment faire fonctionner xypic avec frenchb.
EricK
Téra-utilisateur
 
Messages: 1483
Inscription: Jeudi 02 Novembre 2006, 22:38
Statut actuel: Actif et salarié | Enseignant

Messagepar jobherzt » Mardi 27 Février 2007, 19:30

comme ya eu croisement de mesages, je me permet de reposer ma question :)

jobherzt a écrit:en fait, la commande \young s'appelle avec des parenthese et non avec des accolades comme les commandes habituelles.. comme je peut la "renewcommander" dans ce cas ?


merci !!
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar EricK » Mardi 27 Février 2007, 20:32

Là par contre, je ne vais pas pouvoir t'aider.
EricK
Téra-utilisateur
 
Messages: 1483
Inscription: Jeudi 02 Novembre 2006, 22:38
Statut actuel: Actif et salarié | Enseignant

Messagepar jobherzt » Mardi 27 Février 2007, 20:36

oui, c'est vrai que ca m'a surpris, c'est assez inhabituel...
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar jobherzt » Mardi 27 Février 2007, 20:52

Bon, j'ai essayé avec ca :
Code: Tout sélectionner
\newcommand{\syoung}[1]{ {\shorthandoff{:} \young(#1)} }


au debut de mon document, mais j'ai le meme probleme que si le shorthandoff n'etait pas la... la je pedale :-( desolé de vous embeter :-)
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar gigiair » Mercredi 28 Février 2007, 12:35

Les caractères actifs, c'est un peu la galère. Il y a eu plusieurs fils sur fctt récemment. Tu peux poster sur fctt, J. Noirel te répondra certainement, il est spécialiste de la chose.
Il est assez facile de remplacer le caractère : dans le source par le caractère + par exemple.
Il faut évidemment aussi remplacer : par + dans la commande.
Il vaut mieux faire une copie de youngtab.sty dans son répertoire personnel (sous <rep. personel tex>/tex/latex/youngtab/ que l'on crée à cet effet).
Il y a trois occurrences de : à remplacer (le : se trouve en premier dans la chaîne de caractères).
J'ai testé sur ton exemple et ça marche. Y a-t-il des effets de bord ? Ça je n'en sais rien il faut voir à l'usage.
J'ai mis mon youngtab.sty modifié ici:
http://cjoint.com/?cCmCxGRWnz
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2396
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Messagepar jobherzt » Mercredi 28 Février 2007, 12:42

pas bete, mais c'est vrai que dans la mesure ou la methode avec \shorthandoff marche bien, j'aimerais bien reussir a aller au bout avec cette methode, ne serait ce que pour des questions de compatibilitée... mais je retiens l'astuce !
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar gigiair » Mercredi 28 Février 2007, 13:59

J'ai réussi à faire rentrer le \shorthandoff dans une commande, mais pas le \shorthandon. (ou plutôt, il est sans effet)
Code: Tout sélectionner
\newcommand*{\sof}{\shorthandoff{:}}
\newcommand*{\son}{\shorthandon{:}}
\newcommand*{\syoung}[1]{
  \sof\young#1}
\begin{document}
\young(12,124,3567)
\young(12,:24,::6789)
\syoung(12,:24,::6789)
\son

Le caractère: est actif
\end{document}
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2396
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Messagepar jobherzt » Mercredi 28 Février 2007, 14:01

que signifie le * apres newcommand ? autant avec \section je vois, mais la ?
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar rebouxo » Mercredi 28 Février 2007, 16:02

Ben pas la même chose.
\newcommand* est une version de \newcommand qui n'acceptent qu'un paragraphe dans ses arguments. Dès qu'il y a un paragraphe, il y a erreur. Les gourous de LaTeX préconisent l'utilisation systématique de cette commande plutôt que la version non étoilée.

\section* est une variante de \section qui n'affiche pas le numéro de la section (et accessoirement n'inscrit pas la référence dans la table des matières).

Olivier
rebouxo
Modérateur
 
Messages: 6915
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: DotBot [Crawler] et 9 invités