我目前正在數學環境中重新定義編號,但遇到了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
它在\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}