我正在尝试稍微修改一下我的简历,并决定只使用普通的旧article
格式。当我使用lualatex
、制作简历本身时fontspec
,polyglossia
它与 配合得很好\setdefaultlanguage{icelandic}
。然而,当我尝试创建一封求职信时,在序言中使用完全相同的内容(除了那 \let\ps@plain\ps@empty
部分,但我尝试将其删除,但没有任何区别),它却不起作用:
% !TEX program = lualatex
\documentclass[12pt,a4paper]{article}
\usepackage{fontspec}
\setlength\parskip{0pt}
\usepackage{polyglossia}
\setdefaultlanguage{icelandic}
\usepackage[margin=2cm]{geometry}
\usepackage{tcolorbox}
\usepackage{titlesec,titletoc}
% section
\titleformat{\section}
{\itshape\LARGE}
{\scshape \oldstylenums{\thesection}}
{1ex minus .1ex}
{\itshape\LARGE}
\titlespacing*{\section}
{0pt}{30pt}{16pt}
\makeatletter
\let\ps@plain\ps@empty
\makeatother
\author{\textbf{Þórhalla Guðmundsdóttir Beck} \\ \textit{málvísindamaður -- orðakuklari}}
\title{}
\date{Reykjavík, \today}
\begin{document}
\begin{tcolorbox}
\maketitle
\end{tcolorbox}
\end{document}
除了\maketitle
a 中的之外还有一个空文件tcolorbox
(我也尝试将它们取出但没有什么区别),我收到错误:
! Package polyglossia Error: language english is not loaded. Please load it before using it..
See the polyglossia package documentation for explanation.
如果我\setmainlanguage{icelandic}
单独使用(或使用\setdefaultlanguage{english}
),它会编译。如果我尝试将语言调用放在所有其他包之后,如文档中建议的那样,它仍然无法编译。除此之外,我在文档中找不到任何可以帮助我的东西。我开始认为这是我在某个地方犯的一些非常明显的印刷错误或错误,但我没有看到它。
为了进行比较,以下是来自 CV 的具有相同标题的序言。它编译得很完美。
% !TEX program = lualatex
\documentclass[10pt,a4paper]{article}
\usepackage{fontspec}
\setlength\parskip{0pt}
\usepackage{polyglossia}
\setdefaultlanguage{icelandic}
\usepackage[margin=2cm]{geometry}
\usepackage{tcolorbox}
\usepackage{titlesec,titletoc}
% section
\titleformat{\section}
{\itshape\LARGE}
{\scshape \oldstylenums{\thesection}}
{1ex minus .1ex}
{\itshape\LARGE}
\titlespacing*{\section}
{0pt}{30pt}{16pt}
\author{\textbf{Þórhalla Guðmundsdóttir Beck} \\ \textit{málvísindamaður -- orðakuklari}}
\title{Ferilskrá}
\date{Reykjavík, \today}
\begin{document}
\begin{tcolorbox}
\maketitle
\end{tcolorbox}
\end{document}
\setmainlanguage{icelandic}
我确实意识到我可以通过使用而不是 来使其工作,\setdefaultlanguage{icelandic}
但我需要知道为什么它不起作用。polyglossia
文档说你可以用“或等效地,\setmainlanguage”来设置默认语言\setdefaultlanguage
!这引出了一个问题,如果有区别的话,有什么区别?(也许其中一个比另一个更受欢迎?)。
答案1
当您更改默认/主要语言时会出现错误。
如果你有
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\begin{document}
text
\end{document}
并运行它,你不会得到任何错误。但是如果你将语言行改为
\setmainlanguage{icelandic}
和不删除该.aux
文件后,重新运行 XeLaTeX(或 LuaLaTeX)将会产生
! Package polyglossia Error: language english is not loaded. Please load it
before using it..
以及其他一些错误第一次运行。下一次运行将会顺利结束。
所以这不是一个\setmainlanguage
或的问题\setdefaultlanguage
,而是主要语言变化的问题。实际上,这两个命令的定义方式完全相同,所以这不能是问题所在。
我同意当polyglossia
主要语言改变时可能会更加友好并且不会产生大量错误消息,但这是另一个问题。