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}

sem zadajte popis obrázku



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}

sem zadajte popis obrázku