Als titel, wat is het verschil tussen een  en ~? 
Ik zie geen verschillen na de compilatie.
MWE:
\documentclass[a4paper]{article} \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{graphicx} \usepackage[colorinlistoftodos]{todonotes} \title{Your Paper} \author{You} \date{\today} \begin{document} \maketitle I am cool. I~am~cool. \end{document} Reacties
Antwoord
 Het verschil is te zien aan het einde van de lijn. Een spatie is breekbaar en een ~ is een niet-breekbare spatie. 
\documentclass[a4paper]{article} \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{graphicx} \usepackage[colorinlistoftodos]{todonotes} \title{Your Paper} \author{You} \date{\today} \begin{document} \maketitle \hspace*{0.9\textwidth}I am cool. \hspace*{0.9\textwidth}I~am~cool. \end{document}   
 
 De drie woorden I am en cool zijn aan elkaar gelijmd in de tweede regel. 
Antwoord
 De ~ is een  actief teken , wat betekent dat het “hetzelfde is als een macro zoals \mbox enzovoort. Zijn functie wordt beschreven door zijn definitie, die is 
\nobreakspace{}  dus het typen van ~ is gelijk aan het typen van \nobreakspace{}. 
 Wat doet \nobreakspace? Hier is het: 
\leavevmode\nobreak\  (er volgt een spatie na de laatste backslash.) Dus een alinea wordt gestart of er wordt niets gedaan als we “al in een alinea zijn (\leavevmode); dan wordt \nobreak uitgegeven, wat elke regeleinde op het punt (\nobreak) niet toestaat, en dan wordt een normale interwoordspatie ingevoegd. 
Bij het typen
no~break  zal er dus een spatie staan tussen de twee woorden, maar de regel wordt niet onderbroken na no. 
 Waarom de {} na \nobreakspace? Als u no~break in een bijschrift heeft, zal in het .aux bestand de uitgebreide versie verschijnen 
no\nobreakspace {}break  De accolades zijn geïntroduceerd om om te gaan met het zeldzame geval dat een spatie na ~ gewenst is; zonder hen zou no~ break schrijven 
no\nobreakspace break  en, bij het lezen van de .aux bestand, wordt de spatie genegeerd. Met de accolades 
no\nobreakspace {} break wordt geschreven en de extra spatie wordt niet genegeerd.
 Wat gebeurt er als men no~ break in de uitvoer? Er worden twee spaties toegevoegd, maar er is geen regeleinde bij mogelijk, omdat een spatie alleen een haalbaar regeleindepunt is als deze niet wordt voorafgegaan door een weggegooid item; aangezien \nobreakspace wordt 
\leavevmode\penalty 10000 \  en sancties kunnen worden weggegooid als spaties, noch \  noch de volgende spatie kan worden gebruikt voor een regeleinde. 
 In het omgekeerde geval no ~break worden twee spaties uitgevoerd, maar nu is een breekpunt mogelijk op de eerste spatie (en beide zullen verdwijnen samen met de straf voor het geval deze wordt ingenomen). 
Opmerkingen
- Leuke uitleg. Mag ik +1 zeggen?
-  U spreekt over de no~ breakmaar niet overno ~break. In het bijzonder kan dit geval optreden bij het gebruik van een tekenbeperking per regel met een regelterugloop in de spatie. Wat gebeurt er in dit geval?
-  @RomainPicot Bijna hetzelfde, je krijgt twee spaties als er geen pauze is, maar een pauze is mogelijk (wat niet is met no~ break)
-  @egreg bedankt voor de precisie ;-)
- @RomainPicot Ik heb een laatste opmerking toegevoegd, bedankt voor de prompt.
Antwoord
 Dit is de definitie van ~ in latex.ltx 
\catcode `\~=13 \def~{\nobreakspace{}}  terwijl \nobreakspace is gedefinieerd als 
\DeclareRobustCommand{\nobreakspace}{% \leavevmode\nobreak\ }  Dus het actieve teken ~ is equivalent aan een spatie die niet in regels kan worden opgedeeld. 
~is een onbreekbare ruimte, waar als spatie n ' t onbreekbaar is.:p\the....telleruitvoercommando.~=\nobreakspace