在公式编号中巧妙地省略章节编号

在公式编号中巧妙地省略章节编号

在我的论文中,我使用章节、节和小节。我喜欢根据节对方程式进行编号,但我希望显示的方程式编号不包括章节号。此外,在引用方程式时,我希望排除章节号,除非我从其他章节引用它们。

我该如何实现这一点?如果没有其他可能,可以使用两个命令\ref{}\gref{}其中第一个命令省略章节编号。我也想对章节和定理的引用做同样的事情。目前我正在使用 komascrbook类。

例子

I. Chapter 1
1. Section 1
  a^2 + b^2 = c^2         (1.1)
as seen in (1.1)

II. Chapter 2
1. Section 1
an extension of (I.1.1) is
  a^3 + b^3 = c^3         (1.1)

答案1

您可以使前缀以当前章节与参​​考中保存的章节不同为条件,例如

\documentclass{book}


\renewcommand\theequation{\maybe{\arabic{chapter}}\arabic{section}.\arabic{equation}}
\renewcommand\thechapter{\Roman{chapter}}


\DeclareRobustCommand\maybe[1]{\ifnum#1=\value{chapter}\relax\else\thechapter.\fi}

\usepackage{amsmath}
\begin{document}
\chapter{zz}

\section{lll}

\begin{equation}1=0\label{x}\end{equation}

\section{sss}

\begin{equation}1=-1\label{y}\end{equation}

[[[\ref{x}]]]

\chapter{YY}

[[[\ref{x}]]]

\end{document}

答案2

我认为这里有一个小错误。如果:

\DeclareRobustCommand\maybe[1]{\ifnum#1=\value{chapter}\relax\else\thechapter.\fi}

则显示当前章节,而不是引用的章节。我建议改用:

\DeclareRobustCommand\maybe[1]{\ifnum#1=\value{chapter}\relax\else\uppercase\expandafter{\romannumeral#1}.\fi}

并且它有效!

相关内容