%20%D0%B8%D0%B7%20Helvetica%20%D0%B2%20%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B5%3F.png)
У меня есть следующий код.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathastext}
\begin{document}
\begin{equation*}
\overrightarrow{\mathit{r}}=\mathit{r}\cos \mathit{\varphi}\widehat{\mathrm{\imath}}+\mathit{r}\sin \mathit{\varphi} \widehat{\mathrm{\jmath}}
\end{equation*}
\end{document}
Почему вместо единичного вектора j я получил черный прямоугольник?
решение1
Символы \imath
и \jmath
не берутся из вашего текстового шрифта, который helvet
установлен на TeX Gyre Heros. Если вы не измените его, они берутся из 7-битного шрифта OML. В этом случае вы пытаетесь сделать это с помощью mathastext
.
Вероятно, вы хотите явно загрузить tgheros
,который содержит символы ĵ и ȷ,скорее, чем helvet
.
Таким образом, ваши возможности включают:
- Загрузите
unicode-math
шрифт sans-serif math. С 2020 года это означает Fira Math. - Загрузите математический пакет без засечек, например
sansmathfonts
,arev
илиnewtxsf
. - Используйте символ текстового режима в математическом режиме. Определите символ
\varj
как что-то вроде\textnormal{\sffamily\itshape\selectfont \j}
и\varjhat
как\textnormal{\sffamily\itshape\selectfont ĵ}
. - Как указано выше, но загрузите
fontspec
и используйтеяиз шрифта Unicode.
решение2
У хелвета нет глифа, поэтому вы получаете символ для .notdef
глифа.
Вы можете отключить попытки mathastext переопределить его. И вместо того, чтобы писать \mathit везде, используйте опцию курсива mathastext.
Имейте в виду, что helvet — это не математический шрифт. Он пропускает символы и ряд математических символов, и, на мой взгляд, результат выглядит довольно плохо. Вы можете улучшить греческий, например, с помощью опции eulergreek (но тогда греческий будет вертикальным), но стрелки и акценты все равно выглядят слишком тонкими.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault}
%\usepackage[utf8]{inputenc} %unneeded in current tex systems
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[italic,defaultimath]{mathastext}
\begin{document}
\begin{equation*}
\overrightarrow{r}=r\cos \varphi\widehat{\mathrm{\inodot}}+r\sin \varphi \widehat{\jmath}
\end{equation*}
\end{document}