# How can I translate siunitx? [solved]

I want to use the awesome siunitx package in my Russian PhD thesis. However, using stuff like

\SI[per-mode=symbol]{10}{\metre\per\square\second}


produces no matter what the babel configuration is. Adding \selectlanguage{russian}% does not help. I checked the documentation and it says it doesn't support Russian.

I need to get something like , i.e. I need to redefine all glyphs for the measurement units. Could you please tell me how it can be done? (I must say I'm not experienced with the *.sty file syntax).

[UPD 15.09.2016] Here's a siunitx.cfg file with everything I could find in GOST 8.417-2002. If you are Russian, just drop it into your project folder.

• Please note that this can be very confusing. I don't think that units should be typeset in Cyrillic letters as well -- it's the SI - style (i.e. international units). As a Physicist I would read 10 solar Masses M divided by light speed squared here first ;-)
– user31729
Aug 13, 2016 at 22:33
• With all due respect, what is the point of using the International System of Units if you are changing the symbols? By the way, the international system is originally French, Système international d'unités, so English is off the hook here. I wrote my master thesis in Spanish and we don't change the units symbols. I have seen thesis written in Greek and it is the same. Of course it is your choice at the end.
– alfC
Aug 13, 2016 at 23:24
• The thesis is written in Russian, why use foreign letters for designating units? Because those are their symbols. They're symbols. And they're universal by design. They universal like the + sign is universal. I know they obviously are generally just letters in the names of the units in Latin script (though not Ω, nor °C), and I know it's easier when your language is English or French and it all works out well for you, but m is a symbol here. It could just as well be މ for all it really matters. And it should be thought of as a symbol Aug 14, 2016 at 4:26
• According to Wikipedia (german), it is common in russia to transliterate km to км or kg to кг. So, if it is common, why trying to pull the OP apart from the common thing? Aug 14, 2016 at 7:24
• @Johannes_B, you and the OP are correct that this is a common practice in Russian. Wikipedia Russian says so ru.wikipedia.org/wiki/… , including "c" for second.
– alfC
Aug 17, 2016 at 4:36

You can redefine any of the units using the \DeclareSIUnit command. I don't know Russian, so I've just used 'M' and 'c' as examples, but you can insert the actual Russian characters.

\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit\metre{M}
\DeclareSIUnit\second{c}
\begin{document}
\SI[per-mode=symbol]{10}{\metre\per\square\second}
\end{document}


Because siunitx sets units in math mode, for Cyrillic characters in math mode you will need to do something special. I've left the details of that out here, since it will depend on the method you choose.

You can store these redefinitions in a file called siunitx.cfg which will be loaded automatically. The format of this file looks like the following:

\ProvidesFile{siunitx.cfg}
% Put any \sisetup{} command here too
\DeclareSIUnit\metre{M}
\DeclareSIUnit\second{c}


Note that these definition will override any standard ones, so you may want to keep the .cfg file only in the document folder rather than putting it in your local texmf folder (where it will always be loaded.)

• This is perfect. Aug 13, 2016 at 23:05
• Hm, strange. \documentclass{article} \usepackage{siunitx} \DeclareSIUnit\metre{м} \DeclareSIUnit\second{с} \begin{document} \SI[per-mode=symbol]{10}{\metre\per\square\second} \end{document}  Aug 14, 2016 at 8:15
• Cyrillic characters don't work in math mode out of the box. Aug 14, 2016 at 8:17