安装的字体和 Babel 存在问题

安装的字体和 Babel 存在问题

我使用的 MWE 字体通常是希腊文。我目前正在用英文撰写文档,需要连字符,因此我尝试使用\usepackage[english]{babel}。这样做时出现很多错误。我做错了什么,为什么它不起作用?如何才能使连字符起作用?

\documentclass[12pt]{article}

\usepackage[top=0.7in, bottom=1.2in, left=0.8in, right=0.8in]{geometry}

\setlength{\parindent}{0cm}

\usepackage[english]{babel}

\setmainfont[Mapping=tex-text]{GFSArtemisia.otf}

\setsansfont[Mapping=tex-text]{GFSArtemisia.otf}

\setmainfont[
  Ligatures=TeX,
  Extension=.otf,
  UprightFont=*,
  BoldFont=*Bold,
  ItalicFont=*It,
  BoldItalicFont=*BoldIt,
]{GFSArtemisia}

\usepackage[fleqn]{amsmath}

\usepackage{unicode-math}

\everymath{\displaystyle}

\begin{document}

Text Here!

\end{document}

答案1

您需要加载fontspecfontspec是 XeLaTeX 和 LuaLaTeX 的一个软件包,它使使用这些引擎选择和使用字体变得更加容易。特别是,它定义了命令\setmainfont\setsansfont。如果您不加载该软件包,TeX 不知道这些命令的含义,它会抱怨它们是undefined control sequences。因此,如果您希望使用这些命令选择字体,您需要先加载该软件包。

此外,最好加载parskip而不是手动设置parindent为零。并且最好指定britishamerican避免可能的失望。

英文原文

\documentclass[12pt,british]{article}% or american

\usepackage[top=0.7in, bottom=1.2in, left=0.8in, right=0.8in]{geometry}

\usepackage{parskip}

\usepackage{babel}

\usepackage{fontspec}

\setsansfont[Mapping=tex-text]{GFSArtemisia.otf}

\setmainfont[
  Ligatures=TeX,
  Extension=.otf,
  UprightFont=*,
  BoldFont=*Bold,
  ItalicFont=*It,
  BoldItalicFont=*BoldIt,
  Mapping=tex-text,
]{GFSArtemisia}% fontspec will substitute this value for the * in the definitions you specify. So you must omit the .otf extension or else TeX will look for e.g. GFSArtemisia.otfBold which you likely do not have!

\usepackage[fleqn]{amsmath}

\usepackage{unicode-math}

\begin{document}

Text Here!

\end{document}

相关内容