# \vec{x} but with arrow from right to left?

I have two variables: \vec{x} and another one which is somehow dual to the first. Therefore I would like to symbolize the second with something similar but a leftarrow on top of the x. I already tried \stackrel{leftarrwo}{x} but it looks to different (too big gap between x and the arrow, and too big arrow).

Is there a way to define a \cev command which does what I want?

This may not be the best way, but two \reflectbox commands will do the trick:

\documentclass{article}
\usepackage{graphicx}
\newcommand{\cev}[1]{\reflectbox{\ensuremath{\vec{\reflectbox{\ensuremath{#1}}}}}}
\begin{document}
$\vec{a} \quad \cev{a} \quad \vec{b} \quad \cev{b}$
\end{document}

• Thanks, but this causes problems with subscripts: Example On the right hand side the t is marked using \cev{t_{\mathring{r}}} and s is marked using \cev{s}_{\mathring{r}} I'd like to have the arrow centered over the whole symbol (including subscript) as it is in the case of t on the left. – C-Otto May 26 '14 at 7:26
• In your example, the arrow over the t on the left does not appear to be centred over the whole symbol including the superscript to me. On the other hand, \cev{t_{\mathring{r}}} seems to give exactly what you want. – Ian Thompson May 26 '14 at 11:25
• \cev{t_{\mathring{r}}} is shown on the right. And \cev{t_r} is shown on the left, where the arrow is a bit more centered than in the case of \cev{t}_r. I'm happy with the looks on the left side, but the right side obviously is wrong. – C-Otto May 26 '14 at 15:09
• This could be a problem with the font you are using; the result of \cev{t_{\mathring{r}}} on my machine looks nothing like yours! Please post a new question with a complete example code that reproduces the problem. – Ian Thompson May 27 '14 at 7:41

A \cev command that seems to give good results on most letters and works correctly (apart a very small drift) in subscripts and superscripts.

\documentclass{article}
\usepackage{graphicx,accents}

\makeatletter
\DeclareRobustCommand{\cev}[1]{%
\mathpalette\do@cev{#1}%
}
\newcommand{\do@cev}[2]{%
\fix@cev{#1}{+}%
\reflectbox{$\m@th#1\vec{\reflectbox{$\fix@cev{#1}{-}\m@th#1#2\fix@cev{#1}{+}$}}$}%
\fix@cev{#1}{-}%
}
\newcommand{\fix@cev}[2]{%
\ifx#1\displaystyle
\mkern#23mu
\else
\ifx#1\textstyle
\mkern#23mu
\else
\ifx#1\scriptstyle
\mkern#22mu
\else
\mkern#22mu
\fi
\fi
\fi
}

\makeatother

\begin{document}
$Xx$

$X\cev{x}_{\cev{x}_{\cev{x}}}$ $\cev{a}\cev{b}\cev{m}\cev{X}$

$X\vec{x}_{\vec{x}_{\vec{x}}}$ $\vec{a}\vec{b}\vec{m}\vec{X}$

$\cev{\imath}$

$\vec{\imath}$
\end{document}


A different implementation:

\documentclass{article}
\usepackage{graphicx}

\makeatletter
\DeclareRobustCommand{\cev}[1]{%
{\mathpalette\do@cev{#1}}%
}
\newcommand{\do@cev}[2]{%
\vbox{\offinterlineskip
\sbox\z@{$\m@th#1 x$}%
\ialign{##\cr
\hidewidth\reflectbox{$\m@th#1\vec{}\mkern4mu$}\hidewidth\cr
\noalign{\kern-\ht\z@}
$\m@th#1#2$\cr
}%
}%
}
\makeatother

\begin{document}
$Xx$

$X\cev{x}_{\cev{x}_{\cev{x}}}$ $\cev{a}\cev{b}\cev{m}\cev{X}$

$X\vec{x}_{\vec{x}_{\vec{x}}}$ $\vec{a}\vec{b}\vec{m}\vec{X}$

$\cev{\imath}$

$\vec{\imath}$

$\cev{\sigma}\cev{x}$
$\vec{\sigma}\vec{x}$
\end{document}


• Can the arrow be rotated instead of reflected to have the correct slanting? Now, the \cev arrow slants to the left, while the \vec arrow (as well as the italic letter) slants to the right. – Qrrbrbirlbel May 17 '15 at 0:21
• @Qrrbrbirlbel That's more difficult. – egreg May 17 '15 at 9:13
• @user49915 I get picture (click), which doesn't show so big a difference with \cev{x} – egreg Dec 1 '18 at 15:09
• @user49915 Maybe you want to try the different implementation I added, maybe fixing the amount of \mkern. – egreg Dec 1 '18 at 15:25
• @user49915 On the other hand, \vec{\sigma} is very bad with newtxmath. – egreg Dec 1 '18 at 15:28

The extensible \overleftarrow might do the trick. The problem is that the arrow is bigger than the one used for \vec, as shown by $\overleftarrow{a}\overrightarrow{a}\vec{a}$ . To have consistent arrows, you should redefine $\vec$ :

\documentclass{minimal}
\renewcommand\vec[1]{\overrightarrow{#1}}
\newcommand\cev[1]{\overleftarrow{#1}}

\begin{document}
$\cev{a}\vec{a}$
\end{document}


Another solution is the \overset command from amsmath, used with \leftarrow. However, the arrow is still bigger than the one from the \vec command.

\documentclass{minimal}
\usepackage{amsmath}
\begin{document}
$\overset{\leftarrow}{v}\overset{\rightarrow}{v}\vec{v}$
\end{document}


*Edited to add * Using \shortleftarrow from the stmaryrd package slightly improves the above construction.

The \vec is an accent (and its own symbol; hence all \leftarrow and similar constructs look different), and the default Computer Modern font doesn't have a symbol which would be its mirror.

In addition to rotating/mirroring the vec accent symbol, as shown by Ian, you could make use of one provided by, say, STIX/XITS (if you use XeTeX). Then you could define:

\def\cev{\XeTeXmathaccent"0"1"20D6}
% The first number ("0) denotes the math type (0=Ord,1=Op,2=Bin,3=Rel,etc.)
% The second number ("1) denotes the math family (0=Roman,1=Italic,etc.)
% The last number ("20D6) denotes the actual glyph slot
$\cev a \qquad \vec a$


Which could look like:

I have a little to add to Frederic's solution:

\usepackage{stmaryrd}