8

I'm looking for a LaTeX command, say \foo, which expands to the type of section I'm in. In the following, the first \foo should expand to "Section", the second to "Subsection", and the third one to "Figure":

\section{aaa}
Hello \foo

\subsection{bbb}
Hello \foo

\begin{figure}
  whatever
  \caption{bla \foo}
\end{figure}

I'd like to have this to build a labeling package which knows where the label comes from, i.e., a \label{R4wmVP} inside a figure would make \ref{R4wmVP} print "Figure \thefigure". The benefit is that after making a section a subsection (or chapter), all references change automatically.

1 Answer 1

10

You can use the package hyperref with the commands autoref and nameref

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\section{aaa}\label{sec:1}
Hello \autoref{sec:1}\qquad\nameref{sec:1}

\subsection{bbb}\label{subsec:1}
Hello \autoref{subsec:1}\qquad\nameref{subsec:1}

\begin{figure}[!ht]
 whatever
 \caption{bla}\label{fig:1}
 \end{figure}

 \autoref{fig:1}\qquad\nameref{fig:1}

\end{document}

The code above produce the following result:

In relation to the comments here an example without hyperref by using nameref and cleveref

\documentclass{article}
\usepackage{nameref}
\usepackage{cleveref}

\begin{document}
\section{aaa}\label{sec:1}
Hello \nameref{sec:1}\qquad\cref{sec:1}\qquad\namecref{sec:1}

\subsection{bbb}\label{subsec:1}
Hello \nameref{subsec:1}\qquad\cref{subsec:1}\qquad\namecref{subsec:1}

\begin{figure}[!ht]
 whatever
 \caption{bla}\label{fig:1}
 \end{figure}

\nameref{fig:1}\qquad\cref{fig:1}\qquad\namecref{fig:1}
\end{document}
4
  • 3
    If you don't want to use hyperref, just use the nameref package directly
    – Seamus
    Commented Aug 12, 2011 at 15:32
  • 1
    @Seamus: I forgot this. If you are agree, I expand my post. Commented Aug 12, 2011 at 15:35
  • yes that's fine. Go ahead.
    – Seamus
    Commented Aug 12, 2011 at 15:36
  • Be aware that this does'nt work with unnumbered section or subsection. See this for more informations: tex.stackexchange.com/a/35882/67664
    – Jmini
    Commented Dec 8, 2014 at 16:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .