In Latex, it is possible to insert a space that does not end a line by a ~ character. So writing Fig.~\ref{fig:f1} will write as
Fig. 1
and it makes sure that text wrapping never breaks a line between Fig. and the number 1.
However, in Rmarkdown writing Fig.~\@ref(fig:f1), Fig.\~\@ref(fig:f1), or Fig.\\~\@ref(fig:f1 translates to Fig.\textasciitilde{}\ref{fig:f1} giving
Fig.~1
in the output.
How do you insert the equivalent of ~ in rmarkdown? I am actually using bookdown.