# [OS X TeX] references inside a single chapter

Peter Vamos P.Vamos at exeter.ac.uk
Wed Apr 12 12:10:48 EDT 2006

On Sun Mar 26  Ewan Delanoy wrote:

>I  should like to produce an output like that in LaTeX
>
>   Chapter A Mammals
>
>     Section1. Whales
>     Section 2. Dogs
>
>    Section 1 was about whales.
>
>   Chapter B Birds
>
>     Section A1 was about whales.
>
>  So the philosophy is to omit the index of the chapter
>when making references inside a single chapter. This is
>not the default practice in LaTeX. How can this be done ?

This is what I told my PhD students to do in their Theses but they
came back to ask me how to do it. So I had to figure it out.
Fortunately I found a lovely package: smartref' by by Giuseppe
Bilotta. Using this I wrote a macro \Ref (note the capitalization);
this will do exactly what you want. Just write your file as usual;
you'll need a few lines in the preamble to ensure correct numbering +
the \Ref macro. I enclose a sample file. This specifies the AMS book
\documentclass but I don't think this (AMS) is relevant. The smartref
package doesn't seem to be in Gerben's distribution (at least not in
my set-up) so you'll need to get it from CTAN. When I looked it up
now it showed version number 1.6, mine is 1.9; I cannot remember how
I got it although i corresponded with the author. Hopefully it won't
matter.

========= sample document ==========
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Sample file to illustrate Chapter Aware Referencing'.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass{%
amsbook%
}%
\parindent0pt
\usepackage{verbatim, smartref}

%%%%%%%smart Ref stuff %%%%%%%%%
\newcommand{\Ref}[1]{%
\ischapterchanged{#1}% checks if chapter number has changed
\hbox{%
\ifchapterchanged% if chapter is different
\chapterref{#1}.% put the chapter reference
\fi % else do nothing
\ref{#1}%
}%
}
\addtoreflist{chapter} %this is needed for the smartref package

%%%%%%%%%%%%% for numbering to work properly %%%%%%%%%%%
\numberwithin{section}{chapter}
\numberwithin{equation}{chapter}
\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{lemma}[theorem]{Lemma}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\title{Chapter Aware Referencing.}
\author[V\'amos]{Peter V\'amos}
\address{P. V\'amos\\ School of Mathematical sciences \\ University of
Exeter  \\ North Park Rd., Exeter
EX4~4QE \\ England}
\email{P.Vamos at exeter.ac.uk}

\maketitle

\chapter{This is the first chapter}

\section{This is a numbered first-level section head}
This is an example document to illustrate chapter aware'
referencing, see Theorem~\Ref{t:main} for the precise definition.
This type of referencing is made possible by the  use of the
\texttt{smartref} package by Giuseppe Bilotta and the macro
$\backslash$\texttt{Ref. }We will need two chapters to demonstrate
the desired effect.\\

So let's put here a couple of things with labels for cross-referencing.
\begin{lemma}\label{l:functions}
Let $f, g\in A(X)$  etc
\end{lemma}
%\begin{comment}
And now an equation for testing equation referencing:
$$\label{eq:action} e^{i\pi}=-1$$
%\end{comment}
\begin{comment}
\begin{theorem}\label{t:main}
References of the form  \textup{x.x (section.number)} will indicate
an item in the current chapter whereas the form  \textup{x.x.x
(chapter.section.number)} will  indicate an item in a different
chapter.
\end{theorem}
\end{comment}

End of Chapter 1.
\chapter{Testing Cross Referencing}

\section{This is a numbered first-level section head in chapter 2}
\begin{lemma}\label{l:start}
\end{lemma}

\section{This is a numbered first-level section head in chapter 2}
And now for our next result:
\begin{lemma}\label{l:next}
This is our next lemma.
\end{lemma}
Followed by a theorem which maybe moved to Chap.1 for testing.
%\begin{comment}
\begin{theorem}\label{t:main}
References of the form  \textup{s.x (section.number)} will indicate
an item in the current chapter whereas the form  \textup{c.s.x
(chapter.section.number)} will  indicate an item in chapter
\textup{c} different from the current chapter.
\end{theorem}
%\end{comment}

Testing referencing to a lemma in Chapter 1: Lemma~\Ref{l:functions},
and to results in \emph{this}
chapter: Lemma~\Ref{l:start}; also Lemma~\Ref{l:next} and Theorem~\Ref{t:main}.
Equation referencing: by equation~\Ref{eq:action} etc.\\
\begin{comment}
And now an equation for testing equation referencing:
$$\label{eq:action} e^{i\pi}=-1$$
\end{comment}

Now lets move Theorem~\Ref{t:main} to Chapter 1 and
equation~\Ref{eq:action} to Chapter 2 and  see what happens. (Just
\texttt{comment} and \texttt{uncomment} in the source file.)
Remember: you have to \emph{typeset twice} to see the correct
references!
\end{document}

`