How to handle cross-references

Here is how to achieve this:

Section~\ref{ls:recom} deals with recommendations...

< intervening text>



\subsection{Recommendations\protect\label{ls:recom}}

 This section presents\ldots

The character `~' is here used to prevent the reference indication from being separated from `Section' by too much space: it is a `tie'.

The argument to \ref and to \label can be arbitrary text within LaTeX constraints. You may have more than one \ref with the same argument. You should adopt a systematic approach to the composition of unique cross-reference arguments, and avoid simple structures such as `ex:1' as these may cause problems should someone else use this too in another document.... A good approach is to prefix each label with a short acronym for the document. Labels should however not be overlong as this causes memory problems in conversion to HTML: \label{ls:tnoun} is a useful label form and length (`ls' for this present document -- ``Layout and Style Guide''), whereas \label{styledoc:nountables} is not so useful for our purposes.

Note that when labelling a sectioning command for cross-reference, the label must go inside the braces of the sectioning command itself, and be prefixed by the command \protect. This will cause warning messages to appear concerning multiply-defined labels. This is unproblematic and can be ignored (unless you happen to have really used, in error, the same name for a label to label two different locations in your document).