公式、表格、图形、章节:参考文献有章节编号,但标签无

公式、表格、图形、章节:参考文献有章节编号,但标签无

使用book类别方程式、表格、图表和章节以章节号作为标签的第一个数字(例如,第 2 章的第一个方程式是方程式 2.1)。

我想从标签中删除章节号,但我想在引用它时保留它(最好的方法是当且仅当引用在标签所在的章节之外时才保留它)

答案1

以下是我的操作方式:

\documentclass{book}

\usepackage{hyperref}
\usepackage{refcount}
\usepackage{xstring}

\newcommand\Ref{}
\newcommand\RefNum[1]{%
  \StrBehind{\getrefnumber{#1}}{.}[\Ref]
  \hyperref[#1]{\Ref}}

\newcommand\ChapNum[1]{%
  \StrBefore{\getrefnumber{#1}}{.}[\result]}

\newcommand{\myref}[1]{\ChapNum{#1}%
\ifnum\result=\thechapter \RefNum{#1}\else\ref{#1}\fi}

\begin{document}

\chapter{First}

\begin{figure}
\caption{\label{fig1}Figure chap 1}
\end{figure}

\begin{equation}
x+y=z
\label{eq1}
\end{equation}

\myref{eq1}

\chapter{Second}

\begin{figure}
\caption{\label{fig2}Figure chap 2}
\end{figure}

Here see the Figure \myref{fig1}.

\noindent
Here see the Figure \myref{fig2}.

\noindent
Here for the equation \myref{eq1}
\end{document}

如果您引用的是另一章节中的内容,则该命令\myref将充当命令;如果您引用的是同一章节中的内容,则将隐藏章节编号。\ref

相关内容