web-dev-qa-db-fra.com

Références avec texte dans LaTeX

Dans LaTeX, vous pouvez facilement référencer une section en utilisant\label {} à côté d'une section, puis\ref {} pour créer la référence. Cependant, la référence inclut uniquement le numéro de la section ou la page avec\pageref {}. Je voudrais insérer une référence contenant le texte de la section.

Exemple:

\section{My Section}
\label{section:my}

This is a reference to Section~\ref{section:my}.

La sortie est la suivante:

1. My Section

This is a reference to Section 1.

Je voudrais avoir:

This is a reference to 1. My Section.
38
ssn

Jetez un œil à ce wiki: LaTeX/Labels and Cross-referencing :

Le package hyperref inclut automatiquement le package nameref et une commande de même nom . Il insère du texte correspondant au nom de la section, par exemple:

\section{MyFirstSection}

\label{marker}

\section{MySecondSection} In section \nameref{marker} we defined...

41
enguerran

Je pense que vous pouvez le faire avec le package hyperref , même si je ne l'ai pas essayé moi-même. Dans la section pertinente du Wikibook LaTeX :

Le package hyperref introduit une autre commande utile; \autoref{}. Cette commande crée une référence avec du texte supplémentaire correspondant au type de cibles, qui seront tous un hyperlien. Par exemple, la commande \autoref{sec:intro} créerait un lien hypertexte vers le \label{sec:intro} commande, où qu'elle soit. En supposant que cette étiquette pointe vers une section, l'hyperlien contiendrait le texte "section 3.4", ou similaire (les règles de capitalisation seront suivies, ce qui rend cela très pratique). Vous pouvez personnaliser le texte préfixé en redéfinissant \typeautorefname au préfixe souhaité, comme dans:

\def\subsectionautorefname{section}

13
ire_and_curses

En utilisant le package hyperref, vous pouvez également déclarer une nouvelle commande en utilisant \newcommand{\secref}[1]{\autoref{#1}. \nameref{#1}} dans le préambule. Placement \secref{section:my} dans le texte génère: 1. Ma section.

3
user5011146