
ある本の方程式を参照したいので、方程式に ( \tag{10.6}
) タグを付けて、本の方程式番号と一致させます。こうすることで、わざと番号を間違えて (2.1)、(2.2)、(2.3)、(10.6)、(2.4)、(2.5) のようになってしまいます。しかし、セクション 10 に到達したときに問題が発生します。番号は通常の (10.4)、(10.5)、(10.6)、(10.7) となり、方程式番号が 2 倍になってしまうからです。
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}