Vetgedrukte getallen maken in wiskundige modus met bm package

Ik heb wat problemen met het produceren van vetgedrukte getallen in wiskundige modus. \mathbf{} commando werkte met het mathptmx pakket, en produceerde vetgedrukte nummers die eruit zagen als nummers in wiskundige modus, maar vet. Toen begon ik het newtxmath -pakket te gebruiken naast het bm en nu zien ze er niet uit zoals ik dat wil.

mathbf{1} produceert een symbool dat eruitziet als nummer 1, maar als een tekstmodus 1. While \bm{} en \boldsymbol werkt niet. Hier is een uitvoer van

$\bm{1}$\\ $\boldsymbol{1}$\\ $\mathbf{1}$\\ \textbf{1} 

ones

Ik gebruik Georgia lettertype met zijn " laag " getallen, zodat u definitief het verschil kunt zien tussen wiskundige modus en tekstmodus.

Is er een oplossing voor dit probleem?

Hier is de volledige code (je hebt Lua of Xe LaTex nodig om te compileren):

\documentclass[10pt]{article} \usepackage{newtxmath} \usepackage{bm} \usepackage{polyglossia} \defaultfontfeatures{Ligatures=TeX} \setmainfont{Georgia} \newfontfamily\cyrillicfont{Georgia} \setmainlanguage{russian} \begin{document} \noindent $\bm{1}$\\ $\boldsymbol{1}$\\ $\mathbf{1}$\\ \textbf{1} \end{document} 

UPDATE: Het ding werkte eindelijk, toen ik het bestand op een andere pc heb gecompileerd. Wat vreemd is, want als ik het krijg, TexLive-update es de pakketten en compilers automatisch, dus het lijkt geen kwestie van versie te zijn.

Het zou geweldig zijn als iemand me uitlegt wat hier aan de hand is.

Opmerkingen

  • texlive updates alleen wanneer je tlmgr update uitvoert, je kunt \listfiles toevoegen aan de document preambule en vergelijk de pakketversie aan het einde van elk logboek. (er waren vorig jaar enkele updates voor bm om bijvoorbeeld wat minder kapot te gaan in luatex)

Antwoord

Je laadt polyglossia, die fontspec laadt, en gebruikt een OpenType-lettertype . Dit is niet compatibel met het oude pakket bm.

Een oplossing is:

\usepackage{unicode-math} \defaultfontfeatures{ Ligatures=TeX, Scale=MatchLowercase } \setmathfont{TeX Gyre Termes Math} % Or another math font \setmathfont{Georgia}[range=up] \setmathfont{Georgia Italic}[range=it] \setmathfont{Georgia Bold}[range=bfup] \setmathfont{Georgia Bold Italic}[range=bfit] 

Hierdoor kun je \mathbf{1} of \symbf{1} gebruiken. Als u \mathbf nooit gebruikt voor woorden in de wiskundige modus, kunt u de optie \usepackage[mathbf=sym]{unicode-math} gebruiken en \mathbf een synoniem voor \symbf. Theoretisch roept dit de vetgedrukte alfanumerieke symbolen op uit uw wiskundige lettertype, in plaats van een tekstlettertype, hoewel u ze hier toch allebei op hetzelfde lettertype instelt. U kunt \textbf (of, sterker nog, \textnormal{\bfseries ...}) nog steeds gebruiken in de wiskundige modus.

Als u een versie van Georgia die lijnnummers ondersteunt, kunt u bovendien de aanvullende \setmathfont commandos de optie Numbers=Lining geven. Of, als u specifiek Georgië wilt gebruiken voor letters en niet cijfers, kunt u range=up/{Latin,latin,Greek,greek}, etc.

U kunt het \mathbf lettertype, dat bedoeld is voor woorden en korte zinnen in wiskundige modus, veranderen in iets anders dan uw hoofdlettertype tekstlettertype met \setmathrm[BoldFont={...}, BoldFeatures={...}]. U kunt ook \usepackage[no-math]{fontspec} aanroepen vóór polyglossia om te voorkomen dat \mathbf, \mathrm, enzovoort.

Het unicode-math pakket ondersteunt \boldsymbol , maar dit roept \mathversion{bold} aan. Vanaf 2020 ondersteunt unicode-math niet zowel de version=bold als range= opties van \setmathfont tegelijkertijd, dus u kunt \boldsymbol niet betrouwbaar gebruiken en ook de letters wijzigen in wiskundige modus.

Andere opties om het wiskundige lettertype te wijzigen in Georgia zijn mathastext, of, in XeTeX, mathspec.

Antwoord

Nee, TeXlive is gewoon een andere distributie, met versienummers.

mensen gebruiken het omdat het min of meer de keukeninvoer bevat en alles en het wordt onderhouden, maar het heeft zeker versienummers.

en de mensen die er heel vaak mee omgaan, zullen proberen ervoor te zorgen dat de onderdelen samenwerken.

ook, vanwege de gigantische omvang , TeXlive kan opgesplitst zijn over verschillende kleine subpakketten in je distributie.

Dat is voldoende om verschillen tussen renderings te verklaren.

in het algemeen, als je tegen een dergelijk probleem aanloopt , reproduceerbaarheid is de sleutel … dus in het algemeen kunnen logboeken van versienummers van gebruikte LaTeX-pakketten veel helpen.

Opmerkingen

  • Welkom bij TeX. SE!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *