# How can I get the Russian ruble sign?

I want to use the Russian Ruble symbol. How can I get hold of it?

• Which font (or font family) do you use?
– Mico
Aug 10, 2015 at 17:27

Brew your own, made scalable. If the default sans font changes, some adjustments may be needed to the measurements.

\documentclass{article}
\usepackage{stackengine}
\def\Ruble{\stackengine{.64ex}{%
\stackengine{.4ex}{\textbf{\textsf{P}}}{\rule{1ex}{.16ex}\kern.55ex}{O}{r}{F}{F}{L}%
}{\rule{1ex}{.16ex}\kern.55ex}{O}{r}{F}{F}{L}\kern-.1ex}
\begin{document}
88\Ruble abc

\Huge 88\Ruble abc
\end{document}


If one prefers a less bold version

\documentclass{article}
\usepackage{stackengine}
\def\Ruble{\stackengine{.67ex}{%
\stackengine{.48ex}{\textsf{P}}{\rule{.8ex}{.12ex}\kern.6ex}{O}{r}{F}{F}{L}%
}{\rule{.8ex}{.12ex}\kern.6ex}{O}{r}{F}{F}{L}\kern-.1ex}
\begin{document}
88\Ruble abc

\Huge 88\Ruble abc
\end{document}


You can use fontawesome and \faRub:

\documentclass[12pt,a4paper]{article}
\usepackage{fontawesome}

\begin{document}

\faRub

\end{document}


• I get the error message: The fontspec package requires either XeTeX or LuaTeX to function } Aug 10, 2015 at 17:53
• @FrodeBjørdal You need a recent version of fontawesome to be able to use them directly with pdflatex. Aug 10, 2015 at 17:54

If you can use either XeLaTeX or LuaLaTeX and can make use of a font that provides the required symbol, you could proceed as in the following example.

\documentclass{article}
\usepackage{fontspec}
\setmainfont{PT Sans} % per Unicode, the 'ruble' symbol is in slot U+20BD
\newcommand\ruble{\char"20BD }
\begin{document}
\textyen\ruble\textdollar
\end{document}

• And if you can input the ruble sign using your keyboard (e.g. using AltGr + 8 on Windows), you can use it directly. So instead of typing \textyen\ruble\textdollar as above, you would just type ¥₽\$. Using any (official Unicode) character with LaTeX is now really a solved problem. As long as you use LuaLaTex or XeLaTeX, you can just type the characters directly. There’s no longer any need for any fancy hacks or magic (La)TeX commands. Aug 11, 2015 at 20:56
• IMHO, this is the best answer (of the three answers currently posted). It is the only solution which makes the resulting character a character 1) you can correctly copy and paste into other documents, 2) that can be correctly recognised by screen readers (e.g. text-to-speech software for the blind), and 3) a typographically well-designed character that always fits well with the surrounding text, and looks the way the type designer intended. Aug 11, 2015 at 21:03
• @KarlOveHufthammer - Thanks! Windows-based and Mac keyboards (let alone the virtual keyboards on android and ios systems) by now all have methods for inputting "nonstandard" (i.e., non-ASCII) characters. However, the methods are quite disparate and depend importantly on a given system's base language. That's why I didn't touch on the matter of inputting the character directly and, instead, offered a macro called \ruble. Of course, the font used to create the pdf file still needs to provide the glyph in question.
– Mico
Aug 12, 2015 at 4:48
• What is AltGr? On my keyboard I see only Alt key. Aug 13, 2015 at 10:52
• @IgorKotelnikov - I think it's a key that comes on keyboards distributed with fairly recent Windows-based systems.
– Mico
Aug 13, 2015 at 11:30

An answer on stackoverflow contains the following "official specification":

The following example implements this in pgf. The side bearings are unspecified. The example uses 75 % of the line width for the side bearings. The image shows the letter P, the Russian ruble and the Russian ruble in a box to show its bounding box.

\documentclass{article}
\usepackage{pgf}

\DeclareRobustCommand*{\RussianRuble}{%
\begingroup
\dimendef\H=0 %
\settoheight\H{P}%
\begin{pgfpicture}%
\pgfsetlinewidth{.1\H}%
\pgfsetrectcap
\pgfsetmiterjoin
\pgfmoveto{\pgfpoint{0pt}{.05\H}}%
\pgflineto{\pgfpoint{0pt}{.95\H}}%
\pgflineto{\pgfpoint{.35\H}{.95\H}}%
\pgfpatharc{90}{-90}{.225\H}%
\pgflineto{\pgfpoint{-.05\H}{.5\H}}%
\pgfmoveto{\pgfpoint{-.05\H}{.34\H}}%
\pgflineto{\pgfpoint{.38\H}{.34\H}}%
\pgfusepath{stroke}%
\pgfmoveto{\pgfpoint{-.175\H}{0pt}}%
\pgfmoveto{\pgfpoint{.7\H}{0pt}}%
\end{pgfpicture}%
\endgroup
}

\begin{document}
P \RussianRuble
\space
\setlength{\fboxsep}{0pt}%
\setlength{\fboxrule}{.1pt}%
\fbox{\RussianRuble}
\end{document}