与えられた方程式のラベルを返す/見つける方法はありますか?

与えられた方程式のラベルを返す/見つける方法はありますか?

私の目的は次のとおりです。1.1、1.2、1.3 などのラベルが付いた一連の方程式があります。ただし、これらの方程式の途中に、 というラベルが付いた追加の方程式を、1.1'たとえば 1.1 と 1.2 の間に配置したいと思っています。 で実行できることはわかっていますが、方程式 1.1 のラベルを返すか取得して、その後ろに\tag{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、つまり、間に番号付きの方程式が介在しない場合は、 を使用できます。テキスト モードではなく、数式モードで ("prime")\tag{\theequation$'$}をレンダリングすることに注意してください。'

さらに、実行したい場合があります

\DeclareMathOperator{\numer}{num}
\DeclareMathOperator{\E}{E}

プリアンブルでは、E_t(時間 t 条件付き) 期待値演算子と同様に、、、、などの数学「演算子」には直立した (つまり「ローマン」) 文字を使用するのが慣例です。また\sin、 「numeraire」の場合は、と書く方が と書くより簡単ですよね?\exp\det\log\numer\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

関連情報