tikz add tag
Anonymous 13962
Hi,

I'd like to offset the tip of the arrow at (a1) in the following example by 0.5mm in y- and x-direction. (This is an example from the chemfig manual.)

```
[xshift=-0.5mm, yshift=0.5mm]
```
does shift (db), however (a1) doesn't and I really don't get why.


```
\documentclass[a4paper,10pt]{article}  
  
\usepackage{chemfig}  
  
\begin{document}  
  
\schemestart  
\chemfig{@{a1}=_[@{db}::30]-[::-60]\charge{90:2pt=\|}{X}}  
\arrow{<->}  
\chemfig{\chemabove{\vphantom{X}}{\ominus}-[::30]=_[::-60]  
\chemabove{X}{\scriptstyle\oplus}}  
\schemestop  
\chemmove{\draw([xshift=-0.5mm, yshift=0.5mm]db).. controls +(120:5mm) and +(130:5mm).. ([xshift=-0.5mm, yshift=0.5mm]a1);}  
  
\end{document}
```


I'd really appreciate some explanation why and how I could do it.

Thank You!
Top Answer
samcarter
If you use a specific anchor of the node, e.g. `a1.center`, you can use the x-/yshift options to move the arrow tip around:

```
\documentclass[a4paper,10pt]{article}

\usepackage{chemfig}

\begin{document}

\schemestart
\chemfig{@{a1}=_[@{db}::30]-[::-60]\charge{90:2pt=|}{X}}
\arrow{<->}
\chemfig{\chemabove{\vphantom{X}}{\ominus}-[::30]=_[::-60]
\chemabove{X}{\scriptstyle\oplus}}
\schemestop
\chemmove{
  \draw([xshift=-0.5mm, yshift=0.5mm]db) .. controls +(120:5mm) and +(130:5mm) .. ([xshift=-2.5mm, yshift=2.5mm]a1.center);
}

\end{document}
```

![Screenshot 2026-02-14 at 00.39.16.png](/image?hash=4fc9761d72f30203fd1150b2f121d53ae91839ceb3a794bbfe20decff34bfc05)

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.