
MWE в XeLaTex:
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\usepackage[russian]{babel}
\begin{document}
Б\'{о}льший №
\end{document}
Выход:
Тот же код в обычном LaTeX корректен:
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\usepackage[russian]{babel}
\begin{document}
Б\'{о}льший №
\end{document}
В чем причина? Шрифт?
Обновление о том, что шрифт не найден
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\usepackage{fontspec}
\usepackage{noto}
\setmainfont{Noto Serif} % <- Error
\usepackage[main=russian,english]{babel}
\begin{document}
\noindent
Б\'{о}льший №\\
\textsf{Sans serif text}\\
{\tt True type text}
\end{document}
Обновление со шрифтом CMU Concrete
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\usepackage[russian]{babel}
\usepackage{fontspec}
\tracinglostchars=2
\babelfont{rm}[Script=Cyrillic, Language=Russian]{CMU Concrete}
\begin{document}
\setmainfont{CMU Concrete}[Script=Cyrillic, Language=Russian]
Б\'{о}льший №
\end{document}
Все еще такой же:
решение1
Используйте шрифт, который правильно поддерживает языки, которые вы используете. Вот решение с Ното:
\documentclass[12pt]{article}
\usepackage{noto-serif}
\usepackage{noto-sans}
\usepackage{noto-mono}
\usepackage[russian]{babel}
\begin{document}
\textrm{Б\'{о}льший №}
\textsf{Б\'{о}льший №}
\texttt{Б\'{о}льший №}
\end{document}
решение2
Вы на самом деле не загрузили CMU Concrete. Этот MWE отлично работает в TeX Live 2020:
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\usepackage[russian]{babel}
\tracinglostchars=2
\babelfont{rm}{CMU Concrete}
\begin{document}
Б\'{о}льший №
\end{document}
Одно преимущество \babelfont
перед другими подходами заключается в том, что он babel
будет загружать шрифт с Script=Cyrillic
и Language=Russian
и переключаться на них всякий раз, когда вы выбираете русский язык. В LuaLaTeX вы даже можете автоматически переключаться всякий раз, когда печатаете кириллицей, без других команд.
Кириллица достаточно похожа на латиницу, поэтому зачастую можно обойтись настройками по умолчанию, но некоторые шрифты будут отображать болгарские буквы вместо русских, если только вы не выберете этот язык в качестве функции шрифта OpenType.
решение3
Я думаю, что, поскольку XeLaTeX
символы находятся в юникоде...необходимо использовать,
\usepackage{fontspec}
\setmainfont{Arial} %<---- a random set of characters.
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\usepackage[russian]{babel}
\usepackage{fontspec}
\setmainfont{Arial}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\begin{document}
Б\'{о}льший №
\end{document}
С использованием Noto Serif
,
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\usepackage[russian]{babel}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\begin{document}
Б\'{о}льший №
\end{document}
решение4
Я не могу воспроизвести вашу картинку из первого примера, который вы привели, и виден только последний глиф, поскольку он присутствует в латинском шрифте Modern Roman.
С другой стороны, следующий код воспроизводит шрифт (CMU Concrete) без странных рамок, как с XeLaTeX, так и с LuaLaTeX.
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\geometry{tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\usepackage[russian]{babel}
\usepackage{fontspec}
\setmainfont{CMU Concrete}[Script=Cyrillic]
\begin{document}
Б\'{о}льший №
\end{document}