10

I got bored with writing \langle and \rangle in my code, so I decided to create the commands \< and \> for these. That is, I put the following in my header.

\newcommand{\<}{\langle}
\newcommand{\>}{\rangle}

This...doesn't work. It doesn't mind \<, but apparently \> is already defined. This made me interested, and I tried to find out what it does, if it does anything. But I cannot find anything about this command.

Note that I can override this by just going

\renewcommand{\>}{\rangle}

but, well, it feels dirty redefining an existing command!

Therefore, my question is,

What does \> do? Does it do anything? Does it matter that I am reassigning it?

(On a side note, why can I type \< here, but typing \< without the space gives > ?)

  • 9
    \> is used in the tabbing environment. if you never use tabbing, you are probably okay. regarding \<, this is sometimes used (as \< ... > ) to indicate metacode; how it's defined in what you're doing depends on the document class and packages being used. – barbara beeton Jul 30 '13 at 19:03
  • From texdefI got \>: macro:->\mskip \medmuskip ` – Sigur Jul 30 '13 at 19:04
  • 1
    Does your editor have the auto completion tool? It is easy nowadays to use extensible commands with editor's tools. Also, if you really want the symbol < (and not the \langle) (some people think that they are the same) you just type it directly on keyboard. – Sigur Jul 30 '13 at 19:08
  • 1
    @user1729 -- in latex.ltx, \> is actually defined (with \def); \< is only \let to a particular meaning. i'd have to do some more exploring/testing to figure out if this is what makes the difference, but it's a place to start. – barbara beeton Jul 30 '13 at 19:10
  • 2
    @barbarabeeton tabbing commands only get their definition locally within that environment. \> is a math space – David Carlisle Jul 30 '13 at 20:12
13

As mentioned in the comments \< and \> are being used as part of the tabbing environment syntax. Their meaning is defined inside this environment via \let so LaTeX doesn't really care about whether or not they are defined outside and how.

Thus a redefinition of \< and a definition of \>on top-level is fine and even tabbing could still be used as long as you are prepared to use \langle and \rangle in there and not your abbrevs for it as those get redefined locally.

So could a (re)definition of those commands backfire?

Yes it could in two scenarios:

  1. If you incorporate math formulas from other authors (for some reason) and they used \> for math spacing corrections
  2. If you used some class or package that internally used tabbing, say to format a title page and you place one of your formulas in there

Neither is really a very realistic case, so in reality you should be fine.

Now why is \> defined? If you look into the LaTeX manual this command is not listed, instead \: is offered for the "medium math space" (page 51 Lamport). However in plain TeX Don Knuth used \> for this. Now as far as "fine points of math typesetting is concerned, LaTeX really just follows plain in nearly all cases (plus adding the additional amstex environments etc) so \>is kept available (outside tabbing for all those people who are used to Don's conventions.

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.