2009-09-29 36 views
28

En LaTeX puede hacer referencia fácilmente a una sección usando \ label {} al lado de una sección y luego \ ref {} para crear la referencia. Sin embargo, la referencia solo incluye el número de la sección o la página con \ pageref {}. Me gustaría insertar una referencia que contenga el texto de la sección.Referencias con texto en LaTeX

Ejemplo:

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

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

La salida es la siguiente:

1. My Section 

This is a reference to Section 1. 

me gustaría tener:

This is a reference to 1. My Section. 
+0

Pertenece al superusuario. – Noldorin

+12

@Noldorin: No. http://meta.stackexchange.com/questions/12918/can-we-have-a-ruling-on-latex-on-stackoverflow –

+3

@Noldorin: Vea también las otras 367 preguntas de LaTeX ya en este sitio. –

Respuesta

31

Tenga una mirada a esta wiki: LaTeX/Labels and Cross-referencing:

El hyperref paquete de forma automática incluye el paquete nameref y un comando similarmente nombrado. Inserta texto correspondiente al nombre de la sección , por ejemplo:

\section{MyFirstSection}

\label{marker}

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

+0

Ejemplo completo utilizando el paquete 'hyperref': http://tex.stackexchange.com/a/25565 – Jmini

12

Creo que se puede hacer esto con el paquete hyperref, aunque no lo he probado yo mismo. Del relevante LaTeX Wikibook section:

El paquete hyperref introduce otro comando útil; \autoref{}. Este comando crea una referencia con texto adicional correspondiente al tipo de objetivos, todos los cuales serán un hipervínculo. Por ejemplo, el comando \autoref{sec:intro} crearía un hipervínculo al comando \label{sec:intro}, donde sea que esté. Suponiendo que esta etiqueta apunte a una sección, el hipervínculo contendrá el texto "sección 3.4", o similar (se seguirán las reglas de mayúsculas, lo que lo hace muy conveniente). Puede personalizar el texto prefijado por la redefinición de \typeautorefname que el prefijo que desea, como en:

\def\subsectionautorefname{section}

+0

O consulte el manual 'hyperref' aquí: http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/nameref.pdf –

+0

@Paul El enlace está roto. – SSchneid

2

Usando el paquete hyperref, también se puede declarar un nuevo comando mediante \newcommand{\secref}[1]{\autoref{#1}. \nameref{#1}} en el preámbulo. Colocar \secref{section:my} en el texto genera: 1. Mi sección.

Cuestiones relacionadas