2

I found this related topic but it didn't seem to fix my problem: How to fix symbol index entry?

I was using good old \|\cdot\| for norms but my index wasn't liking it. So then I did the new command \norm to be \|. This works great except in subscripts. To be specific I have something like this:

{\index[symbols]{$B_{\norm\cdot\norm}(x,r)$}}

And it appears in the index as $B_{weird stuff}(x,r)$. More specifically, going into the index file I see it's recorded as this:

$B_{\delimiter 026B30D \cdot \delimiter 026B30D }(x,r)$

Any ideas?

4
  • Welcome to TeX.sx! A tip: If you indent lines by 4 spaces or enclose words in backticks `, they'll be marked as code, as can be seen in my edit. You can also highlight the code and click the "code" button (with "{}" on it).
    – Guido
    Feb 25, 2013 at 13:31
  • What happens with \DeclareRobustCommand*{\norm}{\|}? (to be used in math mode)
    – user4686
    Feb 25, 2013 at 13:51
  • That fixes it! Thank you user700902!
    – danzibr
    Feb 25, 2013 at 14:37
  • 1
    @danzibr: I will make it into an answer so that you can accept it and help me get all the reputation I deserve ;-)
    – user4686
    Feb 25, 2013 at 16:11

1 Answer 1

3

The phenomenon is an instance of TeX "expanding" things. Sometimes you do not want this to happen: this is discussed in LaTeX: a document preparation system under the name of fragile and robust commands. One way to make things "robust" is to use \DeclareRobustCommand: so here

\DeclareRobustCommand*{\norm}{\|}

can be used to solve your problem.

You must log in to answer this question.

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