如何在未编号的部分中添加对方程标签的部分引用?

如何在未编号的部分中添加对方程标签的部分引用?

我在文档中有一个未编号的部分,用于定义后续内容的符号。由于未编号,因此其中的方程式标记为:“(1)”等。

例如:

\documentclass[12pt]{book}
\begin{document}
\chapter*{Notation}
\label{sec:notation}
A dot over any object denotes the time derivative of that object. Hence,\\
\begin{equation}
    \frac{\partial}{\partial x^0}\alpha(x) = \frac{1}{c}\frac{\partial}{\partial t}\alpha(x) = \frac{1}{c}\dot{\alpha}(x).
\end{equation}
\end{document}

生成:

平均能量损失

有什么方法可以告诉 Latex 自动将它们标记为类似于附录的“(N.1)”?

答案1

在使用普通环境中,您可以通过修改计数器的打印机制,将equation您想要添加的内容添加到方程编号的前面。例如:\theequationequation

在此处输入图片描述

\documentclass{article}
\begin{document}
\section{A numbered section}
\begin{equation}
  f(x) =  ax^2 + bx + c \label{eqnA}
\end{equation}
See~(\ref{eqnA}).
\section*{An unnumbered section}
\renewcommand{\theequation}{N.\arabic{equation}}
\begin{equation}
  f(x) =  ax^2 + bx + c \label{eqnB}
\end{equation}
See~(\ref{eqnB}).
\end{document}

请注意,您无法更新\theequation 里面环境equation,因为反向步进(和参考环境equation) 在环境启动时完成。也就是说,在内部更新它以使其被拾取为时已晚。

如果更改是暂时的,您可以使用组来本地化它,或者在您想要更改的位置手动重置它。


如果你只是在更新参考而不是方程式本身,你可以修改\p@equation,因为构造\@currentlabel- 存储计数器的元素\refstep- 具有以下形式(来自latex.ltx):

\def\refstepcounter#1{\stepcounter{#1}%
    \protected@edef\@currentlabel
       {\csname p@#1\endcsname\csname the#1\endcsname}%
}

请注意\@currentlabel是如何(粗略地)定义为的\p@<cntr>\the<cntr>

相关内容