10

In math, one often needs to put a letter inside the symbols <>, e.g. to denote a cyclic group <x> generated by some element x. However, plain text displays the symbols < and > as an upside down exclamation point and an upside down question mark, respectively, while math type displays a large space like so:

< x > 

Is there some way to reduce this spacing?

1

4 Answers 4

7

If it's important to keep the same shape of > then make sure you're using the amsmath package because it gives you three types of negative space: thin, medium and thick. Per your question, negative spacing is the method to reduce spacing. This code shows your options:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$<x>$\\
$\langle x \rangle$   \\
$< \, x \,>$\\
$< \negmedspace x \negmedspace >$\\
$< \negthickspace x \negthickspace >$\\
\end{document} 

Personally, I like Jeff's solution or the solution with negmedspace.

2
  • 2
    It's usually not a good idea to mess with the spacing directly; frabjous's comment (under Jeff's answer) provides the best solution for this problem.
    – Rufflewind
    Oct 17, 2013 at 19:03
  • The solutions with explicit spacings (including the one with \negmedspace) are wrong. No discussion about it. Try with $a=<\negmedspace x\negmedspace>$ and you'll clearly see why it's wrong when you compare it with $a=\langle x\rangle$: don't just look at the symbols, but also at the spacing.
    – egreg
    Sep 15, 2016 at 7:25
19

I swear I searched for a long time before posting my question....but right after asking, I found the solution.

For anyone else who might want to know, the solution is to use \langle in place of < and \rangle in place of >.

2
  • 13
    You can also do $\left< x \right>$, or if you really want < and > then $\mathopen{<} x \mathclose{>}$.
    – frabjous
    Aug 16, 2011 at 20:01
  • 1
    I would use $\langle x\rangle$ instead of $\left<x\right>$, because \left and \right sometimes create delimiters of the wrong size and may also have other unwanted effects. I think $\bigl\langle x\bigr\rangle$ and $\bigl<x\bigr>$ come out exactly the same, though.
    – MSC
    Apr 12, 2014 at 20:53
0

The best solution I have is to include the following command in the beginning of the document:

\newcommand{\gen}[1]{\ensuremath{\langle #1\rangle}}

Remark: I have chosen the name of the command to be "\gen" by personal preference. This can be modified at will.

1
  • Welcome to TeX.SE. It would be helpful if you explained in a bit more detail how your answer differs from the one by @DJP. If nothing else, it would be helpful if you mentioned that this approach requires use of the amsmath package.
    – Mico
    Sep 15, 2016 at 1:27
-1

To keep the shape of the < and >, instead of squishing them horizontally: https://math.berkeley.edu/~gbergman/misc/hacks/langl_rangl.html

\usepackage{graphics}

\newcommand{\langl}{\begin{picture}(4.5,7)
\put(1.1,2.5){\rotatebox{60}{\line(1,0){5.5}}}
\put(1.1,2.5){\rotatebox{300}{\line(1,0){5.5}}}
\end{picture}}
\newcommand{\rangl}{\begin{picture}(4.5,7)
\put(.9,2.5){\rotatebox{120}{\line(1,0){5.5}}}
\put(.9,2.5){\rotatebox{240}{\line(1,0){5.5}}}
\end{picture}}

\newcommand{\lang}{\begin{picture}(5,7)
\put(1.1,2.5){\rotatebox{45}{\line(1,0){6.0}}}
\put(1.1,2.5){\rotatebox{315}{\line(1,0){6.0}}}
\end{picture}}
\newcommand{\rang}{\begin{picture}(5,7)
\put(.1,2.5){\rotatebox{135}{\line(1,0){6.0}}}
\put(.1,2.5){\rotatebox{225}{\line(1,0){6.0}}}
\end{picture}} 

%\langl \rangl produces 120 degree angle brackets
%\lang \rang produces 90 degree angle brackets

You must log in to answer this question.

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