Adding a caption to an equation in LaTeX

前端 未结 3 1803
你的背包
你的背包 2020-12-24 05:04

Well, it seems simple enough, but I can\'t find a way to add a caption to an equation. The caption is needed to explain the variables used in the equation, so some kind of t

相关标签:
3条回答
  • 2020-12-24 05:42

    You may want to look at http://tug.ctan.org/tex-archive/macros/latex/contrib/float/ which allows you to define new floats using \newfloat

    I say this because captions are usually applied to floats.

    Straight ahead equations (those written with $ ... $, $$ ... $$, begin{equation}...) are in-line objects that do not support \caption.

    This can be done using the following snippet just before \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
    }
    

    and when adding an equation use something like

    \begin{eqfloat}
    \begin{equation}
    f( x ) = ax + b
    \label{eq:linear}
    \end{equation}
    \caption{Caption goes here}
    \end{eqfloat}
    
    0 讨论(0)
  • 2020-12-24 05:44

    The \caption command is restricted to floats: you will need to place the equation in a figure or table environment (or a new kind of floating environment). For example:

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

    The point of floats is that you let LaTeX determine their placement. If you want to equation to appear in a fixed position, don't use a float. The \captionof command of the caption package can be used to place a caption outside of a floating environment. It is used like this:

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

    This will also produce an entry for the \listoffigures, if your document has one.

    To align parts of an equation, take a look at the eqnarray environment, or some of the environments of the amsmath package: align, gather, multiline,...

    0 讨论(0)
  • 2020-12-24 06:01

    As in this forum post by Gonzalo Medina, a third way may be:

    \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}
    

    More details of the commands used from package caption: here.

    A screenshot of the output of the above code:

    0 讨论(0)
提交回复
热议问题