I am defining a citation (using the citealp) command and using it like this:
\documentclass{article}
\usepackage[super]{natbib}
\setcitestyle{square,citesep={; }}
\newcommand*{\citesquare}[2]{\mbox{\textsuperscript{[}\citealp{#1}\textsuperscript{#2]}}}
\begin{document}
This\citesquare{lamport94}{, pp.~20-30} is a citation
used for experimentation and demonstration purposes only.
\begin{thebibliography}{9}
\bibitem{lamport94}
Leslie Lamport,
\emph{\LaTeX: A Document Preparation System}.
Addison Wesley, Massachusetts,
2nd Edition,
1994.
\end{thebibliography}
\end{document}
The problem is that there appears an extraneous space after the opening square bracket in the output. A hacky solution would be to insert something like \hspace with a negative argument after the opening square bracket in the command's definition, but this doesn't scale (if used in footnotes - actually is that right? I tried a negative em-argument (which didn't scale) but perhaps there are scalable ways of doing this?), and I'm looking for a real solution that exactly removes the space.
Note that I'm really looking for something that makes citations look exactly like shown, (bare numbers embedded in superscript square brackets, with additional text possibly before (which I have another macro for) and after). While my personal citation style is not important, the emphasis in my question is that I would like this particular approach fixed (so please not a reference to an alternative package/style that gives me something that looks almost like what I am interested in: I'm likely aware of those).
