13

fancyref's documentation gives the prefixes

  • chap, for chapters
  • sec, for sections
  • eq
  • fig
  • tab
  • enum, for ``Enumeration''
  • fn, for footnotes

The LaTeX Wikibook has some differences,

  • ch instead of chap
  • itm instead of enum (if my understanding is correct)

And adds

  • subsec
  • lst, for code listings
  • alg, for algorithms
  • app, for an appendix subsection

What are the modern convention for prefixes? I want to use cleveref.

What are enum and itm for?

13

What are the modern conventions for prefixes? I want to use cleveref.

The good news is that cleveref imposes no stylistic conventions and only two absolute constraints on how the arguments of \label directives may be formed.

  • The first constraint is that comma characters (,) must not be part of a \label.

  • The second active (pun intended) constraint is that no "active" characters are allowed in the arguments of \label. To quote from the package's user guide: "Cleveref can't cope with active characters being present in cross-reference label names. For example, if French babel support is loaded, the commonly used : in label names will often fail, spewing the usual random selection of mysterious TEX errors that accompany such deep-seated errors. The solution is to avoid using active characters in label names."

That said, it cannot hurt -- and it usually helps -- to adopt a few stylistic conventions regarding the structure of the arguments of \label. E.g., you might choose to use the eq prefix for equations, fig prefix for figure environments, tab for table environments, etc. Of course, observing a few of these stylistic conventions is likely to be helpful whether or not you use the cleveref package.

1
  • 1
    "spewing the usual random selection of mysterious TEX errors that accompany such deep-seated errors." Oh, I like their self-irony. :) – rugk Jun 15 '20 at 16:25
11

They are just conventions.

They keep you from inadvertently reusing labels: you can have equation eq:pythagoras in section sec:pythagoras.

\usepackage{showlabels} while writing helps you remember what you called things in another part of your manuscript.

enum is for enumerations, itm for items (probably) .

Use what works for you.

4
  • 1
    Do you prefer showlabels over showkeys? – Kurzd Mar 30 '17 at 3:38
  • @Kurzd Didn't know about showkeys. showlabels was the first thing I found for the job. – Ethan Bolker Mar 30 '17 at 3:40
  • 2
    In the case of fancyref, they are not just (stylistic) conventions. The prefixes need to follow syntactic conventions, so that the package can determines which label prefixes to use while generating cross-reference call-outs via its \fref commands. – Mico Mar 30 '17 at 5:11
  • @Mico I didn't know that either, Thanks. – Ethan Bolker Mar 30 '17 at 10:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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