获取引用章节的章节和节

获取引用章节的章节和节

我用罗马数字给章节编号,用阿拉伯数字给章节编号(每个新章节从 1 开始,IE第 I.3 节、第 II.3 节、第 III.3 节等等都显示为“第 3 节”。

我必须以这种方式格式化我的论文以符合学院的指导方针,并且我在序言中加入了这些行:

\renewcommand{\chaptername}{Capitolo}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand*\thesection{\arabic{section}}

但是,鉴于 - 例如 - 第 II.3 节被标记为\label{sec:chap2sec3},当我在代码中写“参见节”(而不是仅仅“参见第 3 节”)时,我希望在文本中包含类似“参见第 II.3 节”的内容\ref{sec:chap2sec3},就像我现在得到的一样。

实现这一目标最简单的方法是什么?提前致谢!

答案1

这是一种快速而简单的方法,通过更改\p@section要添加到前面的参考格式宏并将\thechapter.其与 相结合cleveref

注意:\setcounter{section}{100}仅用于测试目的。

\documentclass{book}


\renewcommand{\chaptername}{Capitolo}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand*\thesection{\arabic{section}}

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

\usepackage{cleveref}


\begin{document}

See \cref{Foosection} for more information

\chapter{Other chapter}

\chapter{Foo} 

\setcounter{section}{100}
\section{Foo section} \label{Foosection}

\end{document}

在此处输入图片描述

更新不含cref

\documentclass{book}


\renewcommand{\chaptername}{Capitolo}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand*\thesection{\arabic{section}}

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

\begin{document}

See \ref{Foosection} for more information

\chapter{Other chapter}

\chapter{Foo} 

\setcounter{section}{100}
\section{Foo section} \label{Foosection}

\end{document}

相关内容