16

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.

ScumCoder
  • 1,639
  • 9
    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 ;-) –  Aug 13 '16 at 22:33
  • @ChristianHupfer I'm not sure what do you mean. Obviously the whole thesis is written in Russian, why in the world would I use foreign letters for designating units? A lot of people who will read my thesis don't even know English – ScumCoder Aug 13 '16 at 23:01
  • 1
    Well, it's your decision, of course. I am wondering how those people will read articles in international journals then -- they are written in English, most times. –  Aug 13 '16 at 23:04
  • 4
    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
  • @alfC: Exactly my point, I've written my Physics dissertation in German completely, but the units are international... –  Aug 13 '16 at 23:26
  • @ChristianHupfer Well if you like, siunitx can also be used for Imperial units too. :) How to typeset imperial/US customary units, especially in combination with SI/metric units – Alan Munn Aug 13 '16 at 23:26
  • @AlanMunn: Perhaps, but you should correct your wrong uppercase 'Cyrillic' letter M to a lowercase Cyrillic м to qualify it as a real lower case 'm', i.e. metre symbol ;-) It's wrong in the sense of Science ;-) (see also the screen-shot by the O.P. it's an lowercase 'м'). Your solution will fail most likely also for other cyrillic letters that don't have a direct Latin alphabet correspondence. –  Aug 13 '16 at 23:38
  • 4
    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 04:26
  • 2
    It's like the symbols of the elements in the periodic table. – Au101 Aug 14 '16 at 04:27
  • 2
    SI uses non latin letters as parts of the symbols, like Omega for Ohm and mu for micro, circle accent A for Angstrom. gamma was used at some point for miligram. It is done under a truly international mentality. It is unfair to say that it shouldn't be used because is English (or French) based. – alfC Aug 14 '16 at 07:19
  • 9
    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 07:24
  • 1
    I'm don't read Russian, but I would guess would be rather confusing to use "SI standard symbols" which look like letters in the western alphabet, but have a different pronunciation - for example H, P, C, and X. What exactly is the value of using "H" as an abbreviation for "Henrys" when "H" is pronounced like an English "N", or "Pa" for "Pascals" when "P" is pronounced like a rolled "R"? The letter "S" became obsolete in Russian orthography more than 250 years ago, and "C" is always pronounced like the English "S". – alephzero Aug 14 '16 at 16:00
  • 3
    @Johannes_B, you and the OP are correct that this is a common practice in Russian. Wikipedia Russian says so https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D1%86#.D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D0.B5_.D0.B5.D0.B4.D0.B8.D0.BD.D0.B8.D1.86.D1.8B , including "c" for second. – alfC Aug 17 '16 at 04:36
  • 1
    Russian typography rules use Cyrillic letters for SI units, period. Why is irrelevant. What someone used to typeset their Spanish and German documents is irrelevant. Opinions how Russians should typeset their documents in their language are irrelevant as well. – facetus Sep 20 '20 at 03:43

1 Answers1

16

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.)

Alan Munn
  • 218,180