问题
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.
回答1:
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...
回答2:
I think you can do this with the hyperref package, although I've not tried it myself. From the relevant LaTeX Wikibook section:
The
hyperrefpackage 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\typeautorefnameto the prefix you want, as in:
\def\subsectionautorefname{section}
回答3:
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.
来源:https://stackoverflow.com/questions/1491842/references-with-text-in-latex