比较当前章节与另一章节的编号

比较当前章节与另一章节的编号

我正在排版一本book由大量小章节组成的书(使用类),我希望能够自由更改章节的顺序。由于存在交叉引用,我希望有一个宏\comparechapter可以执行此操作:如果某一章有一个名为的标签,那么如果我在另一个章节中cha:pi键入,我会得到:\comparechapter{cha:pi}

  • 如果当前章节的编号高于包含标签的章节的编号cha:pi,则“在第 […] 章中看到”;
  • 否则,“将在第 […] 章中看到”。

我该怎么做?我知道我可以使用 获取当前章节的编号\value{chapter}。我缺乏的是如何获取包含标签的章节编号的知识cha:pi

答案1

感谢大家的评论,我找到了自己问题的答案。以下是我的做法:

\documentclass{book}
\usepackage{ifthen}
\newcommand\comparechapter[1]{\ifthenelse{\value{chapter}>\ref{#1}}{%
    was seen on chapter \ref{#1}}{will be seen on chapter \ref{#1}}}
\begin{document}
\chapter{Chapter 1\label{cha:A}}
This \comparechapter{cha:B}.
\chapter{Chapter 2\label{cha:B}}
This \comparechapter{cha:A}.
\end{document}

相关内容