I want to use the Russian Ruble symbol. How can I get hold of it?
4 Answers
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 }– SapiensAug 10, 2015 at 17:53
-
5@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}
-
1And 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.– MicoAug 12, 2015 at 4:48 -
-
@IgorKotelnikov - I think it's a key that comes on keyboards distributed with fairly recent Windows-based systems.– MicoAug 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}