Ajouter une légende à une équation dans LaTeX

Eh bien, cela semble assez simple, mais je ne trouve pas de moyen d’append une légende à une équation. La légende est nécessaire pour expliquer les variables utilisées dans l’équation, donc une sorte de structure en forme de table pour garder tout cela aligné et joli serait géniale.

La commande \caption est restreinte aux flottants: vous devrez placer l’équation dans un environnement de figure ou de tableau (ou un nouveau type d’environnement flottant). Par exemple:

 \begin{figure} \[ e = mc^2 \] \caption{A famous equation} \end{figure} 

Le but des flotteurs est de laisser LaTeX déterminer leur emplacement. Si vous voulez que l’équation apparaisse dans une position fixe, n’utilisez pas de flottant. La commande \captionof du package de légende peut être utilisée pour placer une légende en dehors d’un environnement flottant. Il est utilisé comme ceci:

 \[ e = mc^2 \] \captionof{figure}{A famous equation} 

Cela produira également une entrée pour les \listoffigures , si votre document en a une.

Pour aligner des parties d’une équation, examinez l’ environnement eqnarray ou certains des environnements du package amsmath : align, gather, multiline, …

Vous voudrez peut-être regarder http://tug.ctan.org/tex-archive/macros/latex/consortingb/float/ qui vous permet de définir de nouveaux flottants en utilisant \newfloat

Je dis cela parce que les légendes sont généralement appliquées aux flotteurs.

Les équations droites (celles écrites avec $ ... $ , $$ ... $$ , begin{equation}... ) sont des objects en ligne qui ne supportent pas \caption .

Cela peut être fait en utilisant l’ extrait de code suivant juste avant \begin{document}

 \usepackage{float} \usepackage{aliascnt} \newaliascnt{eqfloat}{equation} \newfloat{eqfloat}{h}{eqflts} \floatname{eqfloat}{Equation} \newcommand*{\ORGeqfloat}{} \let\ORGeqfloat\eqfloat \def\eqfloat{% \let\ORIGINALcaption\caption \def\caption{% \addtocounter{equation}{-1}% \ORIGINALcaption }% \ORGeqfloat } 

et lorsque vous ajoutez une équation, utilisez quelque chose comme

 \begin{eqfloat} \begin{equation} f( x ) = ax + b \label{eq:linear} \end{equation} \caption{Caption goes here} \end{eqfloat} 

Comme dans ce post du forum de Gonzalo Medina , une troisième voie pourrait être:

 \documentclass{article} \usepackage{caption} \DeclareCaptionType{equ}[][] %\captionsetup[equ]{labelformat=empty} \begin{document} Some text \begin{equ}[!ht] \begin{equation} a=b+c \end{equation} \caption{Caption of the equation} \end{equ} Some other text \end{document} 

Plus de détails sur les commandes utilisées dans la caption du package: ici .