I am trying to highlight portions of code inside a listings environment. However, using tikz introduces some extra spaces that I do not understand and would like to ask how I can rid of them.
Here is a small document that shows my problem:
\documentclass[10pt,a4paper,twoside,openright,titlepage,abstracton]{scrreprt} %report}
\usepackage{listings}
\lstset{language=Java,escapechar=!}
\usepackage{tikz}
\newcommand\eh{\tikz[remember picture]\node (end highlight){};\tikz[remember picture, overlay]\draw[yellow,line width=10pt,opacity=0.3](begin highlight)--(end highlight);}
\newcommand{\bh}{\tikz[remember picture]\node(begin highlight){};}
\begin{document}
\begin{lstlisting}
Lol rofl roflcopter
\end{lstlisting}
\begin{lstlisting}
Lol !\bh!rofl!\eh! roflcopter
\end{lstlisting}
\end{document}
Although I expected it to be yellow, you get the point: rofl has more spacing when highlighted :


