使用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