我的文档包含俄语文本。以前,它以不带 BOM 的 UTF-8 格式存储,并使用 LaTeX 编译。所有操作均正常,但前言如下:
\documentclass[11pt,a4paper,final]{moderncv}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\renewcommand{\rmdefault}{cmr} % Шрифт с засечками
\renewcommand{\sfdefault}{cmss} % Шрифт без засечек
\renewcommand{\ttdefault}{cmtt} % Моноширинный шрифт
但是有些实用程序由于缺少 BOM 而无法识别 UTF-8,因此我添加了它。从现在起,LaTeX 无法编译文档,因为 BOM。我切换到 XeTeX 并替换了前言:
\documentclass[11pt,a4paper,final]{moderncv}
% Resolving "Failed to convert input string to UTF16" error. See http://tex.stackexchange.com/q/66722/24133
\usepackage[unicode,pdfencoding=auto]{hyperref}
\usepackage{polyglossia} %% загружает пакет многоязыковой вёрстки
\setdefaultlanguage[spelling=modern]{russian} %% устанавливает главный язык документа
\setotherlanguage{english} %% объявляет второй язык документа
\setmainfont{CMU Serif} %% задаёт основной шрифт документа
\setsansfont{CMU Sans Serif} %% задаёт шрифт без засечек
\setmonofont{CMU Typewriter Text} %% задаёт моноширинный шрифт
%\renewcommand{\rmdefault}{cmr} % Шрифт с засечками
%\renewcommand{\sfdefault}{cmss} % Шрифт без засечек
%\renewcommand{\ttdefault}{cmtt} % Моноширинный шрифт
但在这种情况下我遇到了几个问题:
- 字体略有不同
- 斜体缺失!
- 引号
<<
&>>
未解析
查看之前和之后的图像:
如何解决这些问题?我想如果我可以告诉 XeTeX 使用与 LaTeX 相同的非 Unicode 字体,那将会有所帮助。
请提供建议全部这些问题,因为我需要它们全部等待修复。
附言我在 Windows 7 (x64) 下使用 MiKTeX 2.9 (x64)。
更新以 LaTeX 为例,一切正常:
\documentclass[11pt,a4paper,final]{moderncv}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\renewcommand{\rmdefault}{cmr}
\renewcommand{\sfdefault}{cmss}
\renewcommand{\ttdefault}{cmtt}
\moderncvstyle{classic}
\moderncvcolor{green}
\name{Михаил \vspace{0.5ex} \\}{Матросов}
\begin{document}
\section{Свои проекты и вклады}
\cvitem{2014}{
\httplink[\textbf{C++ User Group, Russia}]{meetingcpp.ru}, \emph{Докладчик} \newline{}
Доклад \httplink[<<С++ без new и delete>>]{meetingcpp.ru/?p=250}.
}
\end{document}
以 XeTeX 为例,存在上述问题(文档主体没有改变):
\documentclass[11pt,a4paper,final]{moderncv}
% Resolving "Failed to convert input string to UTF16" error. See http://tex.stackexchange.com/q/66722/24133
\usepackage[unicode,pdfencoding=auto]{hyperref}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=modern]{russian}
\setotherlanguage{english}
\setmainfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\moderncvstyle{classic}
\moderncvcolor{green}
\name{Михаил \vspace{0.5ex} \\}{Матросов}
\begin{document}
\section{Свои проекты и вклады}
\cvitem{2014}{
\httplink[\textbf{C++ User Group, Russia}]{meetingcpp.ru}, \emph{Докладчик} \newline{}
Доклад \httplink[<<С++ без new и delete>>]{meetingcpp.ru/?p=250}.
}
\end{document}
答案1
这不是答案,但评论不能包含MWE
和图片
如果您能多做一些工作来诊断问题发生的位置,那将会很有帮助。简化您的示例并编译代码XeLaTeX
对我来说没有任何问题。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\begin{document}
\section{Свои проекты и вклады}
\emph{Докладчик}Доклад <<С++ без new и delete>>.
\end{document}