我想引用书中的公式,因此我给公式贴上标签 ( \tag{10.6}
),使其与书中的公式编号相匹配。这样,我故意把编号弄乱了,所以编号是 (2.1)、(2.2)、(2.3)、(10.6)、(2.4)、(2.5) 等等。但当我到达第 10 节时,它给我带来了一个问题,因为那时编号将像往常一样:(10.4)、(10.5)、(10.6)、(10.7),因此公式编号将加倍。
有没有办法让 LaTeX 自动跳过该数字?我当然可以手动跳过它,\addtocounter{equation}{1}
但一旦我删除或添加另一个方程式,它就会变得混乱,而且不太整洁……
答案1
我建议使用\newtagform
frommathtools
和\tag
。并在方程编号前面添加一些字母来区分两个方程。这样你就可以引用两者。
\documentclass{article}
\usepackage{mathtools}
\newtagform{book}{(B\,}{)}
\usepackage{chngcntr}
\counterwithin{equation}{section}
\begin{document}
\setcounter{section}{10}
\usetagform{book}
\begin{equation}
\label{bkeq}\tag {10.1}
a =b + d
\end{equation}
\usetagform{default}
From {\usetagform{book}\eqref{bkeq}} we deduce:
\begin{equation}
\label{myeq}
c = d × e
\end{equation}
But \eqref{myeq} does not imply {\usetagform{book}\eqref{bkeq}}.
\end{document}
答案2
如果你真的想要这个
\let\oldtheequation\theequation
\renewcommand{\theequation}{%
\thechapter.\ifnum\value{equation}<6 \arabic{equation}\else\the\numexpr\value{equation}+1\relax\fi}
并在下一章恢复旧定义。
\documentclass[a4paper,12pt]{book}
\begin{document}
\chapter{foo}
\let\oldtheequation\theequation
\renewcommand{\theequation}{%
\thechapter.\ifnum\value{equation}<6 \arabic{equation}\else\the\numexpr\value{equation}+1\relax\fi}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}\label{g}
bb
\end{equation}
\begin{equation}\label{f}
bb
\end{equation}
\begin{equation}\label{ff}
bb
\end{equation}
\begin{equation}\label{gg}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\ref{ff}**\ref{f}**\ref{gg}**\ref{g}
\chapter{foo}
\let\theequation\oldtheequation
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\begin{equation}
bb
\end{equation}
\end{document}