Here is a way to do it that relies on `hyperref`

's capability to print a difference string to what is actually references, as well as `enumitem`

's capability to do the same for lists. I've supplied a minimal example illustrating both, depending on your need.

The use of `amsthm`

is just to create a `theorem`

and/or `proposition`

environment for reference, but you could use any other structure.

```
\documentclass{article}
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\newtheorem{theorem}{Theorem}
\renewcommand{\thetheorem}{\thesection.\arabic{theorem}}
\newtheorem{proposition}[theorem]{Proposition}
\begin{document}
\section{Some section}
Here is a theorem.
\begin{theorem} This is a theorem \end{theorem}
And here is a proposition.
\begin{proposition} \label{ref:prop}
A proposition with some items:
\begin{enumerate}[label=\alph*),ref=\thetheorem.\alph*)]
\item \label{ref:prop1} Some item
\item \label{ref:prop2} Another item
\item \label{ref:prop3} Last item
\end{enumerate}
\end{proposition}
See, for example, \ref{ref:prop2}. There is also \hyperref[ref:prop3]{\ref*{ref:prop}.c)}.
\end{document}
```

The two options provided are

Using `enumitem`

's `label`

and `ref`

options. `label`

specifies how things will print in the list, while `ref`

denotes the referencing style. I only added the proposition counter to the reference (which is `theorem`

in this case, since the `proposition`

environment is based on the the `theorem`

environment via `\newtheorem{proposition}[theorem]{Proposition}`

from `amsmath`

);

`hyperref`

provides `\hyperref[<ref>]{<stuff>}`

that hyper-references `<stuff>`

using the reference `<ref>`

. I used `\ref*`

to remove the hyper-referencing capability from `\ref`

and just added `.c)`

to reference the third item in the list.

Note that, just like the use of `amsthm`

is arbitrary (you could use `ntheorem`

or no theorem-related package at all, since LaTeX natively supports `\newtheorem`

), the use of `enumitem`

and/or `enumerate`

is independent from `hyperref`

. So, if you *only* want `hyperref`

capability without any "fancy additional environments," the last use of referencing would work:

```
%...
\begin{proposition} \label{ref:prop}
A proposition with some items: a) Some item; b) Another item; and c) Last item.
\end{proposition}
See, for example, \hyperref[ref:prop]{\ref*{ref:prop}.c)}.
%...
```

This will, of course, point the hyperlink to the start of the `proposition`

and not to item `c)`

. However, than can also be achieved, if needed by means of an appropriately placed `\phantomsection`

:

```
%...
\begin{proposition} \label{ref:prop}
A proposition with some items: a) Some item; b) Another item; and
c)\phantomsection\label{ref:prop3} Last item.
\end{proposition}
See, for example, \hyperref[ref:prop3]{\ref*{ref:prop}.c)}.
%...
```

A fairly simple way to achieve this is to use the `\include`

command to load your thesis main text and from a separate file your appendix. You then have one main file, say `full.tex`

that compiles the whole document until all references are correct.

In addition you can set up two short files that are identical to the `full.tex`

but containing an `\includeonly`

statement loading only the thesis or only the appendix. After resolving the x-references running `full.tex`

often enough the `.aux`

files of the included files contain all relevant information to produce the two pdf files you need by running each file with the `\includeonly`

statement once.

Compared to the suggestion to strip out the appendix from the full pdf this approach has the advantage that it can be automated, i.e., it doesn't involve any manual steps. On the downside it means additional LaTeX runs to produce the partial documents.

## Best Answer

Just to give a full example. I have found

`xr-hyper`

quite tricky to get it to work. It seems that`xr-hyper`

must be called before`hyperref`

and both documents must be compiled twice. Below is an example that shows how to get it going.EDIT2: I do not think citations will work accross files (not

`natbib`

at least)