# Reduce Spacing In $<a>$

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?

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.

• 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. Oct 17 '13 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. Sep 15 '16 at 7:25

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 >.

• You can also do $\left< x \right>$, or if you really want < and > then $\mathopen{<} x \mathclose{>}$. Aug 16 '11 at 20:01
• 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 '14 at 20:53

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.

• 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 '16 at 1:27

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