jobherzt a écrit:gigiair a écrit:Il y a encore plus minimal (sic!)
- Code: Tout sélectionner
\documentclass{beamer}
\usepackage[T1]{fontenc}
\begin{document}
\begin{frame}
salut:salut
{\shorthandoff{:} salut:salut}
\end{frame}
\end{document}
C'est clairement un bug de frenchb de babel ou de beamer.
Je penche pour ce dernier.
Il faut poster sur fctt, ou sur la liste de diffusion de beamer (@sourceforge).
curieux que ton exemple ne marche pas, tu n'appelle pas frenchb

je vais essayer de faire remonter ca..
Non pas curieux car justement shorhandoff{:} est défini dans frenchb voir le code de frenchb ci-dessous. En espagnol par exemple les caractères ne sont pas les mêmes.
Bug il y a mais dans beamer ainsi que dans Tikz d'ailleurs ! T. Tantau n'a pas vraiment fait attention aux caractères actifs.
shorthandoff est défini dans frenchb ici :
- Code: Tout sélectionner
\initiate@active@char{:}
\initiate@active@char{;}
\initiate@active@char{!}
\initiate@active@char{?}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\languageshorthands{french}}
Le moyen que j'ai trouvé, est le suivant si on veut faire un paquet
indépendant de la langue, c'est évidemment de ne pas compter sur babel mais de faire le boulot à sa place
- Code: Tout sélectionner
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage{ifthen}
\makeatletter
\newboolean{@twopt} \setboolean{@twopt}{false}
\newcommand*{\twoptoff}{\ifnum \catcode`\:=13 \catcode`\:=12 \setboolean{@twopt}{true} \fi}
\newcommand*{\twopton}{\if@twopt \catcode`\:=13 \setboolean{@twopt}{false} \fi}
\makeatother
\begin{document}
\begin{frame}
{\twoptoff salut:salut \twopton}
\end{frame}
\end{document}
Cela dit il faut gérer les espaces typo à la main