[Latex] fausses erreurs dans nouvel environnement mathématique

a marqué ce sujet comme résolu.

Bonjour, Je suis en train de suivre le tuto Latex. J’ai problème que je n’arrive pas à résoudre. Je suis en train de créer un formulaire. J’ai définit un environnement :

\newenvironment{formule}[1]{\begin{math}\text{\bsc{#1}: }}{\end{math}}

Je ne sais pas si c’est la façon de faire la plus adaptée, mais partons là-dessus.

Ça s’utilise ainsi :

\begin{formule}{Coefficients binomiaux}
    \binom{n}{k} = \frac{n!}{k! (n-k)!}
\end{formule}

Le problème est que TexStudio ne détecte pas qu’il s’agit d’un environnement mathématique et me surligne \binom et \frac avec l’erreur « Commande mathématique en dehors de l’environnement adéquat ». Ça compile normalement, mais impossible de supprimer l’erreur.

Quelqu’un sait comment faire ?

Salut,

La plupart des IDE LaTeX ont des heuristiques qui marchent plus ou moins bien pour détecter ce genre d’erreurs. Le problème de cette approche est qu’elle est vouée soit à être une passoire, soit avoir des faux positifs. LaTeX est une machine à état plutôt bordélique, donc quasiment le seul diagnostic fiable qu’on peut faire (en dehors de quelque trucs triviaux du genre un environnement pas fermé) est que le code est incorrect si il lève une erreur à l’exécution. Tu peux bidouiller pour corriger les heuristiques, mais c’est n’est qu’un sparadrap qui ne corrige pas le problème de fond.

Du coup personnellement je me suis éloigné des IDE LaTeX dans ce genre et j’utilise texlab (le serveur LSP, pas l’éditeur Windows éponyme qui n’a rien à voir). Pour l’instant, c’est la seule solution que j’ai trouvée qui ne lève pas de faux positif tout en offrant de bonnes complétions et en exposant les erreurs/warnings levés à la compilation comme diagnostiques. Je ne sais pas si TeXStudio permet de brancher un LSP arbitraire pour remplacer leur solution maison, mais n’importe quel éditeur de texte généraliste un peu sérieux implémente LSP.


PS : pourquoi s’embêter à faire

\newenvironment{formule}[1]{\begin{math}\text{\bsc{#1}: }}{\end{math}}

au lieu de

\newenvironment{formule}[1]{\bsc{#1}: \begin{math}}{\end{math}}
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte