このように方程式に自動的に番号を付ける方法

このように方程式に自動的に番号を付ける方法

次のようにして方程式に自動的に番号を付ける方法: ここに画像の説明を入力してください

答え1

GuMの回答と根本的に異なるわけではありませんが、偏導関数の入力とesdiff相互参照を容易にするための改善がいくつかありましたcleveref(ロードされる予定) hyperref(使用する場合):

\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{esdiff}
\usepackage{cleveref}
\setcounter{chapter}{2}

\begin{document}

To find $g$, we know that
\begin{subequations}
  \begin{align}
    \diffp{g}{x} & = 3x^2y^2 + x^2, \label{eq:1} \\%
    \diffp{g}{y} & = 2x^3y + y^2.\label{eq:2}
  \end{align}
\end{subequations}
Integrating \Cref{eq:1} with respect to $x$ gives us
\begin{equation}\label{eq:3}
  g = x^3y^2 + \frac{x^3}{3} + h(x)
\end{equation}

\end{document} 

ここに画像の説明を入力してください

答え2

心配する必要はありません。コーディングは極めて簡単です。例えば(クリスチャン・フプファーのコメント:

% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly 
                                 % declare the paper format.

\usepackage[T1]{fontenc}         % Not always necessary, but recommended.
% End of standard header.  What follows pertains to the problem at hand.

\usepackage{amsmath}

\numberwithin{equation}{section}



\begin{document}

\setcounter{section}{2} % pretend we are in section two

By theorem~\ldots, \( \omega = dg \) for some~$g$.  To find~$g$, we know that
\begin{subequations}
    \label{eq:both}
    \begin{align}
        \frac{\partial g}{\partial x} &= 3x^{2}y^{2}+x^{2} \mbox{,}
                \label{eq:first} \\
        \frac{\partial g}{\partial y} &= 2x^{3}y+y^{2} \mbox{.}
                \label{eq:second}
    \end{align}
\end{subequations}
Integrating~\eqref{eq:first} with respect to~$x$ gives
\begin{equation}
    g = x^{3}y^{2} + \frac{x^{3}}{3} + h(y) \mbox{,}
\end{equation}
etc.  etc.  Note that you can also reference equation~\eqref{eq:both} as a
whole.

\end{document}

対応する出力は

コードの出力

答え3

数日前に似たような方法を作成しました。ここそうです。

パッケージ「amsmath」を使用することを忘れないでください

次のように少し変更することもできます (テストされていません)。

\makeatletter
\newcommand*\ifcounter[1]{%
  \ifcsname c@#1\endcsname%
    \expandafter\@firstoftwo%
  \else%
    \expandafter\@secondoftwo%
  \fi%
}%
\makeatother


\makeatletter
\newcommand\EqFamTag[2][alph]{%
\ifcounter{#2}{%
\expandafter\addtocounter{#2}{1}%
\xdef\temp{\csname #2 Eq\endcsname\csname #1\endcsname{#2}}%
\global\expandafter\let\csname #2\arabic{#2}\endcsname\temp%
\tag{\temp}%
}{%
\global\expandafter\newcounter{#2}%
\expandafter\addtocounter{#2}{1}%
\xdef\temp{\theequation\csname #1\endcsname{#2}}%
\xdef\eqonfamily{\theequation}%
\global\expandafter\let\csname #2 Eq\endcsname\eqonfamily%
\global\expandafter\let\csname #2\arabic{#2}\endcsname\temp%
\tag{\temp}%
\expandafter\addtocounter{equation}{1}
}%
}%
\makeatother

すると、方程式は次のように書けます。

\begin{equation}
 x^2=3\EqFamTag{MyEquatioFamily}
\end{equation}

そして、同じ '\EqFamTag{}' を持つ次の方程式は、同じファミリー内の次の番号付き方程式になります... 必要に応じてラベルを追加できます (ラベルなしで参照する方法については、上記の投稿を確認してください)

答え4

プレーン TeX を使用している場合 (質問からは明らかではありません)、OPmac を使用して、1 つのパラメータ (追加する必要がある文字) で\eqmark呼び出されるマクロのバリアントを定義できます。\eqmarkx

\input opmac

\def\pdiff#1\over#2{{\partial#1\over\partial#2}}
\def\thednum{(\the\secnum.\the\dnum)}
\def\eqmarkx#1{\ifx a#1\global\advance\dnum by1 \fi
   \def\thednum{(\the\secnum.\the\dnum#1)}%
   \ifinner\else\eqno \fi 
   \wlabel\thednum \rm\thednum
}

\sec Test

To find $g$, we know that
$$ 
  \eqalignno{
     \pdiff g\over x &= 3x^2 y^2 + x^2, & \label[eq-a]\eqmarkx a \cr
     \pdiff g\over y &= 2x^3 y + y^2.   & \label[eq-b]\eqmarkx b \cr
   } 
$$
Integrating Equation \ref[eq-a] with respect to $x$ gives us
$$
  g = x^3 y^2 + {x^3 \over 3} + h(x) \eqmark
$$

\bye

関連情報