Detekcia hmotnosti písma Siunitx pomocou Roboto
Siunitx Font Weight Detection With Roboto
Riešenie:
Problém je v tom, že kód siunitx sa pokúša pracovať v matematickom a textovom režime podobným spôsobom. V matematike je v zásade iba normálne a tučné písmo, a tak sa aj v textovom režime siunitx viac -menej pokúša zistiť, či je hrubé písmo aktívne a ak nie, používa bežné rady, čo tu znamená svetlé písmo. Jedným zo spôsobov, ako sa dostať okolo, je lokálne resetovanie predvolených sérií. Nasledujúce príklady vyžadujú aktuálny LaTeX 2020-02-02:
documentclass {article} usepackage [light, medium] {roboto} providecommand* lseries { mdseries} usepackage {siunitx} sisetup {detect-all = true} begin {document} sffamily 1 , mV SI {1} { milli volt} textbf {1 , mV} { DeclareFontSeriesDefault [sf] {md} {m} mdseries 1 , mV SI {1} { milli volt}} 1 , mV SI {1} { milli volt} end {document} 
Je tu skrytý ďalší problém:siunitx detekuje tučné písmo podľa toho, či je aktuálna séria b alebo bx. Ale s vašim nastavením to tak jebx pre rímske písmo, alesb pre bez pätky, a tak detekcia hmotnosti v bezpatku zlyhá:
documentclass {article} usepackage [light, medium] {roboto} providecommand* lseries { mdseries} usepackage {siunitx} sisetup {detect-all = true} begin {document} 1 , mV SI { 1} { milli volt} { bfseries makeatletter [email protected] je: [email protected] quad 1 , mV SI {1} { milli volt}} sffamily 1 , mV SI {1} { milli volt} { bfseries makeatletter [email protected] is: [email protected] quad 1 , mV SI {1} { milli volt}} end {document} 