Reputation: 2897
In LaTeX you can easily reference a section by using \label{}
next to a section and then \ref{}
to create the reference. However, the reference only includes the number of the section, or the page with \pageref{}
. I would like to insert a reference containing the text of the section.
Example:
\section{My Section}
\label{section:my}
This is a reference to Section~\ref{section:my}.
The output is the following:
1. My Section
This is a reference to Section 1.
I would like to have:
This is a reference to 1. My Section.
Upvotes: 154
Views: 423874
Reputation: 3291
Have a look to this wiki: LaTeX/Labels and Cross-referencing:
The hyperref package automatically includes the nameref package, and a similarly named command. It inserts text corresponding to the section name, for example:
\section{MyFirstSection}
\label{marker}
\section{MySecondSection} In section \nameref{marker} we defined...
Upvotes: 164
Reputation: 171
Using the hyperref
package, you could also declare a new command by using \newcommand{\secref}[1]{\autoref{#1}. \nameref{#1}}
in the pre-amble. Placing \secref{section:my}
in the text generates: 1. My section.
Upvotes: 17
Reputation: 70142
I think you can do this with the hyperref
package, although I've not tried it myself. From the relevant LaTeX Wikibook section:
The
hyperref
package introduces another useful command;\autoref{}
. This command creates a reference with additional text corresponding to the targets type, all of which will be a hyperlink. For example, the command\autoref{sec:intro}
would create a hyperlink to the\label{sec:intro}
command, wherever it is. Assuming that this label is pointing to a section, the hyperlink would contain the text "section 3.4", or similar (capitalization rules will be followed, which makes this very convenient). You can customize the prefixed text by redefining\typeautorefname
to the prefix you want, as in:
\def\subsectionautorefname{section}
Upvotes: 25