निरंजन
I am trying to write on the columnseprule, this is what right now I've tried.


\documentclass[8pt]{beamer}
\usefonttheme{serif}
\usepackage{multicol}
\usepackage{minted}
\usepackage{tikz}
\usecolortheme{dove}
\columnseprule=0.01em

\begin{document}
\begin{frame}{First}
\begin{multicols}{2}
This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text.

\columnbreak
\uncover<3->{This is some text. This is some text. This is some text. This is some text. This is some text.}

\vspace*{-0.1cm}
\hspace*{-0.65cm}
\uncover<2->{\begin{tikzpicture}
\end{tikzpicture}}
\end{multicols}
\end{frame}
\end{document}


I want the tikz node to be at the exact center of the columnseprule, but without any manual calculation (unlike in the MWE). How to automatically calculate the distance and place the node exactly where I want (with the overlay)?
samcarter
One possibility is to use the tikzmark library. This will allow you to place marks before and after the columns environment to measure their vertical positions.

Instead of the multicol package, I'm using beamers native columns environment in the following example. This allows me to simply add a another column with the same width as your circle to place it in the centre between the other columns.

And finally you can use the syntax node[midway] (...) {text}; to add a node in the middle the line.


\documentclass[8pt]{beamer}
\usefonttheme{serif}
%\usepackage{multicol}
%\usepackage{minted}
\usepackage{tikz}
\usecolortheme{dove}
%\columnseprule=0.01em

\usetikzlibrary{tikzmark,calc}

\begin{document}
\begin{frame}{First}

\tikzmark{start}
\begin{columns}[onlytextwidth,c]
\begin{column}{.45\textwidth}
This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text.
\end{column}
\begin{column}{8mm}
\begin{tikzpicture}[remember picture, overlay, inner sep=0pt,outer sep=0pt]
\draw<1> let \p{A}=(pic cs:start), \p{B}=(pic cs:stop) in
(4mm,\y{A}) -- (4mm,\y{B});
\draw<2-> let \p{A}=(pic cs:start), \p{B}=(pic cs:stop) in
(4mm,\y{A}) -- (4mm,\y{B}) node[midway,circle,draw,fill=white,text width=8mm,align=center] (b) {text};
\end{tikzpicture}
\end{column}
\begin{column}{.45\textwidth}
\uncover<3->{This is some text. This is some text. This is some text. This is some text. This is some text.}
\end{column}
\end{columns}
\tikzmark{stop}

\end{frame}
\end{document}


![Screen Shot 2020-02-29 at 19.52.24.png](/image?hash=2bd3565268a051d82b48e2c3a4b707e2628f689ab7d1c0b893d7a9656bd50c09)
CrazyHorse
You have to go up half a normal baseline and to the left half a column sepraration and the radius, in this case 4mm.


\vspace*{-0.5\normalbaselineskip}%
\hspace*{\the\dimexpr-0.5\columnsep-4mm}%

You have to increase the \columnsep value if you do not want that the text overlaps the circle.