Jeg har noen problemer med å produsere tall i matematikkmodus i fet skrift. \mathbf{}
-kommandoen fungerte med mathptmx
-pakken, og produserte fete tall som så ut som tall i matematisk modus, men fet. Så begynte jeg å bruke newtxmath
-pakken ved siden av bm
og nå ser de ikke ut som jeg vil.
mathbf{1}
produserer et symbol som ser ut som nummer 1, men som en tekstmodus 1. Mens \bm{}
og \boldsymbol
vil ikke fungere. Her er en utdata fra
$\bm{1}$\\ $\boldsymbol{1}$\\ $\mathbf{1}$\\ \textbf{1}
Jeg bruker Georgia
font med " lav " tall, slik at du definitivt kan se forskjellen mellom matematikkmodus og tekstmodus.
Er det noen løsning på dette problemet?
Her er den fulle koden (du trenger Lua eller Xe LaTex for å kompilere):
\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}
OPPDATERING: Tingen fungerte endelig når jeg har samlet filen på en annen PC. Noe som er rart, for når jeg får det, TexLive oppdatering es pakkene og kompilatorene automatisk, så det ser ikke ut til å være en versjon.
Det ville være flott om noen forklarer meg hva som skjer her.
Kommentarer
Svar
Du laster inn polyglossia
, som laster fontspec
, og bruker en OpenType-font . Dette er ikke kompatibelt med den eldre pakken bm
.
En løsning er:
\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]
Dette lar deg bruke \mathbf{1}
eller \symbf{1}
. Hvis du aldri bruker \mathbf
for ord i matematikkmodus, kan du bruke alternativet \usepackage[mathbf=sym]{unicode-math}
, og lage \mathbf
et synonym for \symbf
. Teoretisk påkaller dette de dristige alfanumeriske symbolene fra mattefonten din, i stedet for en tekstfont, selv om du her stiller dem begge til samme skrift. Du kan fortsatt bruke \textbf
(eller, mer robust, \textnormal{\bfseries ...}
) i matematisk modus.
Hvis du har en versjon av Georgia som støtter liningnumre, kan du i tillegg gi tilleggs \setmathfont
kommandoer alternativet Numbers=Lining
. Eller hvis du spesifikt vil bruke Georgia for bokstaver og ikke tall, kan du spesifisere range=up/{Latin,latin,Greek,greek}
osv.
Du kan endre \mathbf
font, som er ment for ord og korte setninger i matematikkmodus, til noe annet enn ditt hoved tekstskrifttype med \setmathrm[BoldFont={...}, BoldFeatures={...}]
. Alternativt kan du ringe \usepackage[no-math]{fontspec}
før polyglossia
for å forhindre at det endres \mathbf
, \mathrm
og så videre.
unicode-math
-pakken støtter \boldsymbol
, men dette kaller \mathversion{bold}
. Fra og med 2020 støtter unicode-math
ikke både version=bold
og range=
alternativene til \setmathfont
samtidig, så du kan ikke pålitelig bruke \boldsymbol
og også endre bokstavene i matematikkmodus.
Andre alternativer for å endre matematisk skrifttype til Georgia er mathastext
, eller, i XeTeX, mathspec
.
Svar
Nei, TeXlive er bare en ny distribusjon, med versjonsnummer.
folk bruker den fordi den inneholder mer eller mindre kjøkkenvasken og alt og det «vedlikeholdes, men den har definitivt versjonsnummer.
og folk som takler det veldig ofte vil prøve å sørge for at brikker fungerer sammen.
også på grunn av sin gigantiske størrelse , TeXlive kan være delt over flere små underpakker i distribusjonen.
Det er ganske nok til å forklare forskjeller mellom gjengivelser.
generelt, hvis du får et slikt problem , reproduserbarhet er nøkkelen … så generelt kan logger over versjonsnummer for brukte LaTeX-pakker hjelpe mye.
Kommentarer
- Velkommen til TeX. SE!
tlmgr update
, du kan legge til\listfiles
i dokumentinnledningen og sammenlign pakkeversjonen på slutten av hver logg. (det var noen oppdateringer tilbm
i fjor for å være litt mindre ødelagte i luatex, for eksempel)