Добавление подписи к уравнению в LaTeX
-
02-07-2019 - |
Вопрос
Ну, это кажется достаточно простым, но я не могу найти способ добавить подпись к уравнению.Подпись необходима для объяснения переменных, используемых в уравнении, поэтому было бы здорово создать какую-нибудь табличную структуру, чтобы все это было выровнено и красиво.
Решение
Тот Самый \caption
команда ограничена плавающими значениями:вам нужно будет поместить уравнение в среду рисунков или таблиц (или в новый тип плавающей среды).Например:
\begin{figure}
\[ E = m c^2 \]
\caption{A famous equation}
\end{figure}
Смысл поплавков в том, что вы позволяете LaTeX определять их размещение.Если вы хотите, чтобы уравнение отображалось в фиксированном положении, не используйте значение с плавающей точкой.Тот Самый \captionof
командование пакет подписей может использоваться для размещения подписи за пределами плавающей среды.Он используется следующим образом:
\[ E = m c^2 \]
\captionof{figure}{A famous equation}
Это также приведет к появлению записи для \listoffigures
, если таковой имеется в вашем документе.
Чтобы выровнять части уравнения, взгляните на eqnarray
Окружающая среда, или некоторые из сред амсмат упаковка:выровнять, собрать, многострочный,...
Другие советы
Возможно, вы захотите взглянуть на http://tug.ctan.org/tex-archive/macros/latex/contrib/float/ который позволяет вам определять новые значения с плавающей точкой, используя \newfloat
Я говорю это потому, что подписи обычно применяются к элементам с плавающей точкой.
Прямые уравнения (те, которые написаны с помощью $ ... $
, $$ ... $$
, begin{equation}...
) являются встроенными объектами, которые не поддерживают \caption
.
Это можно сделать, используя следующее фрагмент текста как раз перед тем, как \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
}
и при добавлении уравнения используйте что-то вроде
\begin{eqfloat}
\begin{equation}
f( x ) = ax + b
\label{eq:linear}
\end{equation}
\caption{Caption goes here}
\end{eqfloat}
Как в этом сообщение на форуме от Гонсало Медины, третьим способом может быть:
\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
: здесь.