
Soy principiante en TEX y ahora estoy aprendiendo a crear una referencia. Estoy leyendo el libro "La no tan breve introducción a LATEX2" de Oetiker, Partl, Hyna, Schlegl; en la página 42 sección 2.8 Referencia cruzada, el código se escribe como
A reference to this section \label{sec:this} looks like:
"see section~\ref{sec:this} on page~\pageref{sec:this}"
Y estoy usando CTex y WinEdt y mis preguntas son:
- Creé un archivo pdf a partir del código anterior, pero los números de sección y página no están resaltados y no puedo hacer clic en ellos. ¿Por que es esto entonces?
- Intenté hacer referencia a otras páginas escribiendo su número de página como
{sec:37}
, pero no funciona. ¿Cómo puedo arreglarlo? sec
¿Qué significa realmente el código ? ¿Es arbitraria o una sintaxis predefinida?- Cuando escribí ,
\label{}
apareció un cuadro de menú llamado Etiquetas (51) y hay menús desplegables comoc:ISYAC
,,, ... etc... ¿qué es eso? ¿Tenemos que elegir de esa lista o podemos escribir nuestra propia lista ?c:UNBOUND
c:UNIFBURN
{sec:this}
¡Las ayudas son muy apreciadas! ¡Muchas muchas gracias!
Respuesta1
El mecanismo general es establecer un ancla en algún lugar de su documento con \label{<name>}
, donde <name>
puede haber una combinación de números, letras :
y -
(para estar seguro). Estas anclas deben ser establecidas explícitamente por el autor, por eso \ref{sec:47}
no funcionan a menos que usted no las defina. Después de configurar un ancla, puede consultarlo con \ref{<name>}
(dando el contador correspondiente, como capítulo, sección, ecuación o... número) o \pageref{<name>}
(dando el número de página correspondiente).
Algunos autores utilizan identificadores como sec:
, etc. para hacer que los nombres de los anclajes sean más legibles para los humanos eq:
, thm:
pero esto no es necesario para que el mecanismo funcione.
paquetes
El mecanismo de LaTeX se puede ampliar con algunos paquetes:
hyperref
hace referencias a hipervínculos en los que se puede hacer clic (y tiene algunas características más).cleveref
encuentra los nombres correctos para las etiquetas e imprime\ref{anchor5}
comosection~5
en lugar de5
, por ejemplo.varioref
compara los números de página de anclaje y referencia y agrega texto comoon previous page
,on page 6
etc. automáticamente.nameref
Puede imprimir el título real de un ancla.
MWE
\documentclass[english]{article}
% langage
\usepackage{babel}
% only for \lipsum blind text
\usepackage{lipsum}
% ref packages
\usepackage{nameref}
% folowing must be in this order
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
\section{First section}
\lipsum[1-10]
\section{My section}\label{sec:mysection}
\lipsum[1-22]
\section{References}
\begin{itemize}
\item \verb+\ref{sec:mysection}+: \ref{sec:mysection}
\item \verb+\pageref{sec:mysection}+: \pageref{sec:mysection}
\item \verb+\cref{sec:mysection}+: \cref{sec:mysection}
\item \verb+\cpageref{sec:mysection}+: \cpageref{sec:mysection}
\item \verb+\vref{sec:mysection}+: \vref{sec:mysection}% already combined with \cref
\item \verb+\vpageref{sec:mysection}+: \vpageref{sec:mysection}
\item \verb+\nameref{sec:mysection}+: \nameref{sec:mysection}
\end{itemize}
\end{document}