TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a package that automatically inserts the ToC level of the reference I inserted?

Section 1.1
Subsection 1.1.1
Subsection 1.1.2 

So that the text:

Blah \superref{a} and \superref{b} and \superref{c}


Blah Section 1.1 and Subsection 1.1.1 and Subsection 1.1.2

So that it automatically adapts if I change the level of a label?

share|improve this question
up vote 26 down vote accepted

Use the cleveref package and its \cref macro. Note that sectioning levels below \section are referred to as "section" by default, but this can be customized.

EDIT: In case you want the first letter of the reference name capitalized, use \Cref.








See \cref{a} and \cref{b} and \cref{c}~\dots


enter image description here

share|improve this answer
\Cref is for starting a sentence, akin to \Citet. For consistent capitalization, use the capitalize package option. Use noabbrev to fully spell out the reference names. (See Section 6 of the manual.) – krlmlr Jun 15 '13 at 13:44
If one writes See \cref{a,b,c}, the output is See section 1.1 and subsections 1.1.1 and 1.1.2. A \cref instruction can take multiple inputs, and cleveref parses, sorts, and (if necessary) compresses the cross-references on its own. – Mico Mar 1 '15 at 21:24

The hyperref package provides \autoref{<label>} which inserts the name of the reference type as well. These names can also be changed e.g. redefine \sectionautorefname to change the name for sections.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.