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)}.
%...
\begin{envPrp}["Eilenberg Swindle"] \label{10.03.EilenbergSwindle} weakly stably free $\Leftrightarrow$ projective \end{envPrp}
$\iff$
instead of$\Leftrightarrow$
or (if you absolutely want a narrower iff symbol)$\mathrel\Leftrightarrow$
\Leftrightarrow
, I want it to be narrow. At this occasion, I must express my surprise at the default LaTeX options. Visually, everything looks ugly and wrong as far as spacing goes in LaTeX, unless I manually correct things. For example, I almost always write$x^2\!+\!1$
instead of$x^2+1$
. In the example above, at every+,-,\cap,\cup,=,...
I have to manually add\!
so that it looks more aesthetic.