# [OS X TeX] separators in label names

Piet van Oostrum piet-l at vanoostrum.org
Sun Oct 6 15:06:57 EDT 2019

Murray Eisenberg <murrayeisenberg at gmail.com> writes:

> From George Grätzer’s “More Math into LaTeX” (or earlier versions of it), I adopted the convention of using as label names phrases of the form “type:description”, e.g.:
>
> 	\label{thm:law-lare-numbers}
> 	\label{eq:prod-of-sums}
>
> For a book, I’m using, among many other packages, babel and crossreftools. Recently I’ve discovered that the “french” option to babel gives a conflict with mnay commands from crossreftools when label names include colons. (The trouble is caused by babel-french.ldf, where the colon is made an active character along with semicolon, exclamation mark, and question mark.)
>
> I could replace those colons by hyphens, but then that destroys the visual distinction between the type of object (theorem, equation, etc.) being labeled and the description, including hyphens, of the particular object of that type.
>
> The colon was, for me, the perfect separator to use, as it nicely separates the two parts of the label names yet is not obtrusive.
>
> Do you have any recommendation for what character to use —  one that is suitable for the purposes my use of it as author yet is safe in that it is unlikely to be made active by some package and thereby cause the same clash as the colon?
>
> I considered the vertical bar “|” but am concerned that something could make it active as well as that it is somewhat obtrusive.
>
> (For reference, please see https://tex.stackexchange.com/questions/511030/another-babel-french-incompatibility-with-crossreftools and the other posts it references.)

I posted this solution on stackexchange:

\edef\myoldcatcode{\the\catcode\:}
\let\myoriglabel\label
\def\label{\catcode\:=11 \mynewlabel}
\def\mynewlabel#1{\myoriglabel{#1}\catcode\:=\myoldcatcode}

--
Piet van Oostrum <piet-l at vanoostrum.org>
WWW: http://piet.vanoostrum.org/
PGP key: [8DAE142BE17999C4]
`