将默认语言从英语更改为多语制时会中断

将默认语言从英语更改为多语制时会中断

我正在尝试稍微修改一下我的简历,并决定只使用普通的旧article格式。当我使用lualatex、制作简历本身时fontspecpolyglossia它与 配合得很好\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}

除了\maketitlea 中的之外还有一个空文件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主要语言改变时可能会更加友好并且不会产生大量错误消息,但这是另一个问题。

相关内容