引用章节时添加章节编号(章节名称中不包含章节编号)

引用章节时添加章节编号(章节名称中不包含章节编号)

我正在使用书籍课程,并且我的章节和部分具有以下结构:

\renewcommand\thechapter{\Roman{chapter}}
\renewcommand\thesection{\arabic{section}}

这样我就得到了章节和部分

I
 1
 2
 ...
II
 1
 2
...

这很好,因为我不想在章节标题和目录中出现带有 I.1、I.2、...、II.1 的繁重结构。

但是,当我引用第二章第 1 节时,我希望得到结果 II.1,而不仅仅是 1(当我从另一章引用时,这会造成混淆)。

有没有办法自动为章节引用添加章节编号?到目前为止,我还没有找到令人满意的答案。

注意:我不知道这是否有任何兴趣,但我的图表、公式都以章节号命名,所以当我参考它们时,我已经有了章节号,这对我来说没问题。

谢谢

答案1

引用可以在其定义时加上前缀\label\p@<counter>

\makeatletter
\renewcommand*{\p@section}{\thechapter.}
\makeatother

例子:

\documentclass{book}
\renewcommand\thechapter{\Roman{chapter}}
\renewcommand\thesection{\arabic{section}}

\makeatletter
\renewcommand*{\p@section}{\thechapter.}
\makeatother

\begin{document}
\tableofcontents
\chapter{First chapter}
\label{chap:first}
\section{First section}
\label{sec:first}
\chapter{Second chapter}
\label{chap:second}
\section{Second section}
\label{sec:second}

Section \ref{sec:first} in chapter \ref{chap:first},
section \ref{sec:second} in chapter \ref{chap:second}.
\end{document}

目录:

目录

参考:

结果

相关内容