How to set different arrow position for different closed path, i.e. the small circle and the semi-circle?
I add the arrow setting in the beginning of the environment and obviously it applies to all paths.
\begin{tikzpicture}[>={Latex[length=0.15cm, bend]},
decoration={markings,
mark= at position .2 with {\arrow{>}},
mark= at position .8 with {\arrow{>}},
}]
\def\bigradius{1.3}
% contour
\filldraw[postaction = {decorate}, thick ,fill=gray!20]
(-\bigradius, 0) node[yshift=-8pt]{$R$} arc (180:0:\bigradius) node[yshift=-8pt]{$-R$} --
(\bigradius, 0) -- cycle;
\filldraw[postaction = {decorate}, thick, fill=white]
(0, 0.6) circle (3.8mm);
% axes
\draw[-Latex] (-1.5\bigradius,0) -- (1.5\bigradius,0) node[below]{$\Re$} ;
\draw[-Latex] (0,-0.2\bigradius) -- (0,1.4\bigradius) node[right]{$\Im$};
\end{tikzpicture}


\tikzset{my arrows/.style 2 args={postaction=decorate, decoration={markings, mark= at position #1 with {\arrow{>}}, mark= at position #2 with {\arrow{>}}}and then usemy arrows = {.2}{.8}at one path and saymy arrows = {.3}{.6}at another (instead ofpostaction = {decorate}). – Qrrbrbirlbel Apr 08 '23 at 16:20