
XeLaTex 中的 MWE:
\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
載入字體,並在您選擇俄語時切換到它們。在 LuaLaTeX 上,您甚至可以在輸入西里爾字母時自動切換,無需其他命令。Script=Cyrillic
Language=Russian
西里爾字母與拉丁字母非常相似,您通常可以使用默認設置,但某些字體會給您提供保加利亞字母而不是俄語字母,除非您選擇語言作為 OpenType 字體功能。
答案3
我認為,XeLaTeX
字元是unicode的......有必要使用,
\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
我無法從您給出的第一個示例中重現您的圖片,並且僅出現最後一個字形,因為它以拉丁現代羅馬語出現。
另一方面,以下程式碼使用 XeLaTeX 和 LuaLaTeX 再現了沒有奇怪框的字體(CMU Concrete)。
\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}