# Removing the spaces between words

Is there any way to remove spaces from in between the words in a text? Something like

\RemoveSpaces{This is   my    sentence.}


which will be converted to

Thisismysentence.

-
Why would you want to do this? –  User 17670 Mar 6 '13 at 15:48
As a deterrent against copy and pasting the real text from the resulting searchable PDF file. –  Reza Mar 6 '13 at 20:18

\makeatletter
\def\RemoveSpaces#1{\zap@space#1 \@empty}
\makeatother

-
I didn't believe it, but ... it works! –  yo' Dec 18 '12 at 14:53

A different approach, that ensures correct hyphenation and line breaks between words is

\newcommand{\RemoveSpaces}[1]{%
\begingroup
\spaceskip=1sp
\xspaceskip=1sp
#1%
\endgroup}


This reduces the interword space to the minimum possible positive value (that's not visible to the human eye), but still paragraphs will be built as usual. Complete example:

\documentclass{article}
\usepackage[latin]{babel}
\usepackage{ragged2e}
\usepackage{lipsum}
\def\RemoveSpaces#1{%
\begingroup
\spaceskip1sp
\xspaceskip1sp
#1%
\endgroup}

\begin{document}
\parbox{5cm}{\RaggedRight
\RemoveSpaces{\lipsum[2]}
}
\end{document}


-

a solution with lualatex for all spaces between words in a paragraph. Kerning and discretionaries are not affected.

\documentclass[english]{article}
\usepackage{babel,libertine,luacode,blindtext}
\begin{luacode*}
function rSpace(List)
for line in node.traverse_id(0,List) do -- go through all lines