在 LaTeX 中向方程添加标题

发布于 2024-07-06 04:29:08 字数 78 浏览 7 评论 0 原文

嗯,这看起来很简单,但我找不到向方程添加标题的方法。 需要使用标题来解释方程中使用的变量,因此某种类似表格的结构来保持所有对齐和美观会很棒。

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 table-like structure to keep it all aligned and pretty would be great.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

救赎№ 2024-07-13 04:29:09

您可能需要查看 http://tug.ctan.org/tex-archive/macros/latex/contrib/float/ 允许您使用 \newfloat 定义新的浮点数

我这么说是因为标题通常应用于浮点数。

直接方程(用 $ ... $$$ ... $$begin{equation}... 编写的方程)是不支持 \caption 的内联对象。

这可以在 \begin{document} 之前使用以下 snippet

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

来 完成添加方程使用类似的东西

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

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}
冷默言语 2024-07-13 04:29:09

正如在 Gonzalo Medina 的论坛帖子中一样,第三种方法可能是:

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

更多详细信息包 caption 中使用的命令:此处

上述代码输出的屏幕截图:

输出屏幕截图

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:

screenshot of output

青萝楚歌 2024-07-13 04:29:08

\caption 命令仅限于浮点数:您需要将方程放置在图形或表格环境(或一种新的浮动环境)中。 例如:

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

浮动的要点是让 LaTeX 确定它们的位置。 如果您希望方程出现在固定位置,请不要使用浮动。 \captionof 命令“noreferrer">字幕包可用于将字幕放置在浮动环境之外。 它的使用方式如下:

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

如果您的文档有一个条目,这也会为 \listoffigures 生成一个条目。

要对齐方程的各个部分,请查看 eqnarray 环境,或 amsmath 包:对齐、聚集、多行...

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,...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文