Моя цель заключается в следующем: у меня есть ряд уравнений, обозначенных как 1.1, 1.2, 1.3 и т. д. Однако, в середине этих уравнений я хотел бы добавить дополнительное уравнение, обозначенное как 1.1'
, например, между 1.1 и 1.2. Я знаю, что могу сделать это с помощью \tag{1.1'}
, но есть ли способ вернуть или получить метку уравнения 1.1 и добавить символ '
позади него?
PS Конечно, приветствуются и другие решения, удовлетворяющие тем же требованиям.
PPS, если я использую \tag{\ref{eq1}'}
, то будет гиперссылка, направленная на уравнение 1. Есть ли способ предотвратить это, т. е. есть ли способ превратить ссылку в обычный текст?
Вот пример кода, иллюстрирующий эту идею.
\documentclass{article}
\usepackage{amsmath}
\title{test}
\begin{document}
\maketitle
this is the equation labelled 1
\begin{equation}
a=b \label{eq:eq1}
\end{equation}
here is the equation in between, and I need to label it as 1'.
\begin{equation*}
b=c \tag{1'}
\end{equation*}
this is the equation labelled 2
\begin{equation}
a=c
\end{equation}
\end{document}
решение1
Вы можете использовать \ref
. Нет необходимости делать предположения о том, где заканчивается специально помеченное уравнение.
\documentclass{article}
\usepackage{amsmath}
\title{test}
\begin{document}
\maketitle
this is the equation labelled 1
\begin{equation}
a=b \label{eq:eq1}
\end{equation}
here is the equation in between, and I need to label it as 1'.
\begin{equation*}
b=c \tag{\ref{eq:eq1}$'$}
\end{equation*}
this is the equation labelled 2
\begin{equation}
a=c
\end{equation}
\end{document}
Чтобы получить штрих (не апостроф), вам нужно $'$
.
Примечание.Если вы также загружаете \hyperref
, \ref
следует сделать так \ref*
, чтобы избежать нежелательной ссылки.
Можно ли написать для этого специальную команду? Да.
\documentclass{article}
\usepackage{amsmath}
%\usepackage{hyperref}
\makeatletter
\AtBeginDocument{%
\@ifpackageloaded{hyperref}{%
% with hyperref use \ref*
\NewDocumentCommand{\repeateq}{O{$'$}m}{\tag{\ref*{#2}#1}}%
}{% without hyperref use \ref
\NewDocumentCommand{\repeateq}{O{$'$}m}{\tag{\ref{#2}#1}}%
}%
}
\makeatother
\title{test}
\begin{document}
\maketitle
this is the equation labelled 1
\begin{equation}
a=b \label{eq:eq1}
\end{equation}
here is the equation in between, and I need to label it as 1'.
\begin{equation*}
b=c \repeateq{eq:eq1}
\end{equation*}
this is the equation labelled 2
\begin{equation}
a=c
\end{equation}
Another variant of the first equation
\begin{equation}
c=a \repeateq[*]{eq:eq1}
\end{equation}
\end{document}
Если я раскомментирую вызов hyperref
, ссылки будут правильными.
решение2
Если вы уверены, что уравнение n'
всегда будет следовать сразу после уравнения n
, т. е. без каких-либо промежуточных пронумерованных уравнений, вы действительно можете использовать \tag{\theequation$'$}
. Обратите внимание, что я бы отобразил '
("prime") в математическом режиме, а не в текстовом.
Кроме того, вы можете захотеть выполнить
\DeclareMathOperator{\numer}{num}
\DeclareMathOperator{\E}{E}
в преамбуле, как E_t
и оператор ожиданий (время-t условное); принято использовать прямые (т. е. «римские») буквы для математических «операторов», таких как \sin
, \exp
, \det
, и \log
. Кроме того, писать \numer
(для «numeraire») проще, чем \operatorname{num}
, не так ли?
\documentclass{article}
\usepackage{amsmath} % for '\DeclareMathOperator' macro
\DeclareMathOperator{\numer}{num}
\DeclareMathOperator{\E}{E}
\usepackage{mleftright} \mleftright % better spacing around tall delimiters
\usepackage[colorlinks,allcolors=blue]{hyperref}
\begin{document}
The formula holds for every non-dividend-paying asset. Multiplying through by
$S(t)$, we obtain
\begin{equation} \label{eq:fund_pricing_formula}
Y(t)=S(t) \E_t^S \left[\frac{Y(T)}{S(T)}\right]
\end{equation}
It is a present value relation: the value at time $t$ of the asset is the
expectation of its value $Y(T)$ at time $T$ ``discounted'' by the (possibly
random) factor $S(t) / S(T)$.
The formula can be written as
\begin{equation*}
Y(t)=\numer(t) \E_t^{\numer}
\left[\frac{Y(T)}{\numer(T)}\right]
\tag{$\theequation'$}
\end{equation*}
where now $\numer(t)$ denotes the price of the (non-dividend-paying)
numeraire asset at time $t$.
Letting $R(t)$ denote the value $\mathrm{e}^{r t}$ of the risk-free asset and
using it as the numeraire, the equation becomes
\begin{equation}
Y(t)=\mathrm{e}^{r t} \E_t^R
\left[\frac{Y(T)}{\mathrm{e}^{r T}}\right]
=\exp(-r(T-t)) \E_t^R[Y(T)]
\end{equation}
which means that $Y(t)$ is the expected value of $Y(T)$ discounted at the
risk-free rate for the remaining time $T-t$, when the expectation is computed
under the risk-neutral probability measure.
\end{document}
решение3
Следующий пример иллюстрирует, что мы можем сделать с помощью OpTeX:
\def\prevmark[#1]{\ea\prevmarkA\expanded{\cs{_lab:#1}}}
\def\prevmarkA(#1){#1}
% \prevmark[label] expands to previously used \eqmark[label] without ().
\noindent
this is the equation labelled 1
$$
a=b \eqmark[first]
$$
here is the equation in between, and I need to label it as 1'.
$$
b=c \eqno (\prevmark[first]')
$$
this is the equation labelled 2
$$
a=c \eqmark[second]
$$
Another variant of the first equation
$$
c=a \eqno (\prevmark[first]\hbox{*})
$$
\bye
решение4
Как прокомментировали @jlab и @cfr, используйте, \tag{\theequation'}
поскольку \theequation
отображает значение текущего номера уравнения.