14

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 enter image description here 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 enter image description here, 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.

  • 8
    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 '16 at 22:33
  • 3
    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 '16 at 23:24
  • 3
    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 – Au101 Aug 14 '16 at 4:26
  • 8
    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? – Johannes_B Aug 14 '16 at 7:24
  • 3
    @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 '16 at 4:36
15

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}

enter image description here

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. – ScumCoder Aug 13 '16 at 23:05
  • 1
    Hm, strange. \documentclass{article} \usepackage{siunitx} \DeclareSIUnit\metre{м} \DeclareSIUnit\second{с} \begin{document} \SI[per-mode=symbol]{10}{\metre\per\square\second} \end{document} – Johannes_B Aug 14 '16 at 8:15
  • 2
    Cyrillic characters don't work in math mode out of the box. – Johannes_B Aug 14 '16 at 8:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.