web-dev-qa-db-fra.com

Ajout d'une légende à une équation dans LaTeX

Eh bien, cela semble assez simple, mais je ne trouve pas de moyen d'ajouter 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 semblable à une table pour garder tout aligné et joli serait génial.

43
Farinha

La commande \caption Est limitée aux flottants: vous devrez placer l'équation dans un environnement de figure ou de table (ou un nouveau type d'environnement flottant). Par exemple:

\begin{figure}
\[ E = m c^2 \]
\caption{A famous equation}
\end{figure}

Le point des flotteurs est que vous laissez LaTeX déterminer leur placement. Si vous voulez que l'équation apparaisse dans une position fixe, n'utilisez pas de flottant. La commande \captionof Du package de sous-titres peut être utilisée pour placer une légende en dehors d'un environnement flottant. Il est utilisé comme ceci:

\[ E = m c^2 \]
\captionof{figure}{A famous equation}

Cela produira également une entrée pour le \listoffigures, Si votre document en a un.

Pour aligner des parties d'une équation, jetez un œil à l'environnement eqnarray , ou à certains des environnements du package amsmath : aligner, rassembler, multiligne, ...

43
Bruno De Fraine

Vous voudrez peut-être regarder http://tug.ctan.org/tex-archive/macros/latex/contrib/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.

Équations directes (celles écrites avec $ ... $, $$ ... $$, begin{equation}...) sont des objets en ligne qui ne prennent pas en charge \caption.

Cela peut être fait en utilisant ce qui suit extrait 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 lors de l'ajout d'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}
9
dmckee

Comme dans ce message du forum par Gonzalo Medina , une troisième façon peut ê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 le package caption : ici .

3
MattAllegro