Problème avec TextOrMath

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.

Problème avec TextOrMath

Messagepar _Y_B_ » Dimanche 17 Mars 2019, 12:38

Bonjour,
Lorsque j'avais demandé s'il existait un test du type "ifmath", on m'avait proposé la commande TextOrMath, qui fonctionne bien mais qui a pourtant un petit problème, en effet, cette commande me crée un espace indésirable. Cependant cet espace n'apparaît pas en mode maths (surement dû au fait que le mode maths supprime d'office les espaces)
Voilà un exemple de la commande que j'utilise :
Code: Tout sélectionner
\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{soulutf8}

\catcode`\@=11
\let\under@line\ul  %\ul est fournie par soulutf8
\def\ul#1{
   \TextOrMath{          %Teste si on est en mode mathématiques
      \under@line{#1} %Soulignement du mode texte
   }{
      \underline{#1}   %Soulignement du mode maths
   }
}

\begin{document}

\noindent Lorem ipsum \under@line{dolor sit amet}, consectetur adipiscing elit.\\
Lorem ipsum \ul{dolor sit amet}, consectetur adipiscing elit.\\
$\ul H = \frac{\ul S}{\ul E}$\\

\end{document}


Existe-t-il une méthode pour pallier à ce problème ?
_Y_B_
Déca-utilisateur
 
Messages: 38
Inscription: Mardi 30 Août 2016, 15:27
Statut actuel: Post-bac | CPGE

Publicité

Re: Problème avec TextOrMath

Messagepar Denis Bitouzé » Dimanche 17 Mars 2019, 13:57

Chaque retour chariot, y compris dans les définitions de macros, crée une espace horizontale. Il suffit de « protéger » lesdits retours chariots en les « commentant », ainsi :

Code: Tout sélectionner
\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{soulutf8}

\catcode`\@=11
\let\under@line\ul  %\ul est fournie par soulutf8
\def\ul#1{%
  \TextOrMath{%          %Teste si on est en mode mathématiques
    \under@line{#1}% %Soulignement du mode texte
  }{%
    \underline{#1}%   %Soulignement du mode maths
  }%
}

\begin{document}

\noindent Lorem ipsum \under@line{dolor sit amet}, consectetur adipiscing elit.\\
Lorem ipsum \ul{dolor sit amet}, consectetur adipiscing elit.\\
$\ul H = \frac{\ul S}{\ul E}$\\

\end{document}
Denis
Denis Bitouzé
Hecto-utilisateur
 
Messages: 64
Inscription: Vendredi 27 Octobre 2006, 19:27
Localisation: Dunkerque
Statut actuel: Actif et salarié | Maître de conférence

Re: Problème avec TextOrMath

Messagepar _Y_B_ » Dimanche 17 Mars 2019, 17:09

Super !
Ca marche.
Merci pour votre aide :)
_Y_B_
Déca-utilisateur
 
Messages: 38
Inscription: Mardi 30 Août 2016, 15:27
Statut actuel: Post-bac | CPGE


Retourner vers LaTeX

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], Bing [Bot], Google [Bot], Proximic [Spider] et 28 invités