我正在排版一本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}