現在、数学環境での番号付けを再定義していますが、問題が発生していますsubbequations
。
次のような番号付けシステムがあればいいのにと思います。
式1.(正規方程式の場合)
式1.A(部分式の場合)
もし私が
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[leqno]{amsmath}
\usepackage{unicode-math}
\usepackage{etoolbox}
\usepackage{unicode-math}
\makeatletter
\renewcommand\theequation{%
\@arabic\c@equation.%
}
\renewcommand\tagform@[1]{%
\maketag@@@{%
\textbf{\textsc{Eq}.~\ignorespaces#1\unskip}
}%
}
\makeatother
\patchcmd\subequations
{\def\theequation{\theparentequation\alph{equation}}}
{\def\theequation{\theparentequation\protect\Alph{equation}}}
{}
{\FAIL}
\begin{document}
\begin{equation}
(a+b)^2 = a^2 + 2 a b + b^2
\label{eq1}
\end{equation}
Some text... \ref{eq1}
\begin{subequations}
\begin{equation}
f(x) = a x + b
\end{equation}
\begin{equation}
g(x) = q x + s
\end{equation}
\begin{equation}
h(x) = t x + b
\end{equation}
\end{subequations}
\end{document}
を取得しましたEq. 1.A
。ただし、たとえばの代わり\ref{eq1}
に を使用した場合は、 を取得しました。1.
1
もし私が
\renewcommand\theequation{%
\@arabic\c@equation%
}
\renewcommand\tagform@[1]{%
\maketag@@@{%
\textbf{\textsc{Eq}.~\ignorespaces#1.\unskip}
}%
}
\patchcmd\subequations % nouvelle numérotation pour les sous-équations
{\def\theequation{\theparentequation\alph{equation}}}
{\def\theequation{\theparentequation.\protect\Alph{equation}}}
{}
{\FAIL}
問題はありません\ref{eq1}
が、 を持っていますEq. 1.A.
。
追加情報:
@egreg これは方程式に番号を付けるコマンドとして定義したものですが、ここでは簡素化するために に置き換えてしまいAlph{}
、削除するのを忘れてしまいました。ご指摘いただきありがとうございます。
@muzimuzhi さん、ありがとうございます。でも、それはまさに私が望んでいることではありません。通常の方程式では、方程式番号の後に点を付けたいのです。
したがって、正しい番号付けは次のようになります。
式1.
式2.A
式2.B
式2.C
ドットが「。アラビア数字の後には「 」が付きますが、大文字の後には何も付きません。
答え1
次の例では、\p@equation
内部で使用されるstrange-defined を提供しています\stepcounter{<counter>}
。よりエレガントな解決策があるかもしれません。
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[leqno]{amsmath}
\usepackage{etoolbox}
\usepackage{unicode-math}
\makeatletter
\renewcommand\theequation{%
\@arabic\c@equation.%
}
\renewcommand\tagform@[1]{%
\maketag@@@{%
\textbf{\textsc{Eq}.~\ignorespaces#1\unskip}
}%
}
\patchcmd\subequations
{\def\theequation{\theparentequation\alph{equation}}}
{\def\theequation{\theparentequation\Alph{equation}}}
{}
{\FAIL}
\def\p@equation#1{\expandafter\delete@trailing@dot\expanded{#1}.\@nil}
\def\delete@trailing@dot#1.#2.#3\@nil{\ifx\relax#2\relax#1\else#1.#2\fi}
\makeatother
\begin{document}
\begin{equation}
(a+b)^2 = a^2 + 2 a b + b^2 \label{eq1}
\end{equation}
Some text... \ref{eq1} and \ref{eq2a}
\begin{subequations}
\begin{align}
f(x) = a x + b \label{eq2a}\\
g(x) = q x + s \\
h(x) = t x + b
\end{align}
\end{subequations}
\end{document}