![多语化和标题包冲突](https://linux22.com/image/341453/%E5%A4%9A%E8%AF%AD%E5%8C%96%E5%92%8C%E6%A0%87%E9%A2%98%E5%8C%85%E5%86%B2%E7%AA%81.png)
我搜索了一下,但找不到使用这两个包时遇到的问题。我在 Linux 下使用 TeXStudio 编写 TeX 文档。
这是我使用的代码:
\documentclass[11pt,a4paper]{article}
\usepackage{titling}
\newcommand{\subtitle}[1]{%
\posttitle{%
\par\end{center}
\begin{center}\large#1\end{center}
\vskip0.4em}%
}
\usepackage{fontenc}
\usepackage{csquotes}
\usepackage{calc}
\usepackage{verse}
\usepackage{graphicx}
\usepackage{draftcopy}
\usepackage{cleveref}
\usepackage{enumitem}
\usepackage{xpatch}
\usepackage{datetime}
\usepackage{marginnote}
\usepackage{xspace}
\usepackage{xltxtra}
\usepackage{fancyhdr}
\usepackage{etoolbox}
\usepackage[heightrounded, headheight=114pt,marginparwidth=2.5cm]{geometry}
\usepackage[final,ulem=normalem]{changes}
\usepackage[block=none,style=philosophy-modern]{biblatex}
\setmainfont{Gentium Plus}
\addbibresource{my.bib}
\nocite{*}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{Scheherazade}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\thesection.\Roman{subsection}}
\title{\textbf{My title}}
\subtitle{my subtitle}
\author{author\\
email: my mail}
\date{}
\begin{document}
\maketitle
\section{bla}
\end{document}
该代码运行完美,但是当我添加polyglossia
包时,如下例所示,我收到一堆错误并且字幕消失:
\documentclass[11pt,a4paper]{article}
\usepackage{titling}
\newcommand{\subtitle}[1]{%
\posttitle{%
\par\end{center}
\begin{center}\large#1\end{center}
\vskip0.4em}%
}
\usepackage{fontenc}
\usepackage{csquotes}
\usepackage{calc}
\usepackage{verse}
\usepackage{graphicx}
\usepackage{draftcopy}
\usepackage{cleveref}
\usepackage{enumitem}
\usepackage{xpatch}
\usepackage{datetime}
\usepackage{marginnote}
\usepackage{xspace}
\usepackage{xltxtra}
\usepackage{fancyhdr}
\usepackage{etoolbox}
\usepackage[heightrounded, headheight=114pt,marginparwidth=2.5cm]{geometry}
\usepackage[final,ulem=normalem]{changes}
\usepackage[block=none,style=philosophy-modern]{biblatex}
\setmainfont{Gentium Plus}
\addbibresource{my.bib}
\nocite{*}
\usepackage[quiet]{polyglossia}
\setdefaultlanguage{italian}
\setotherlanguages{arabic,greek,english,german}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{Scheherazade}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\thesection.\Roman{subsection}}
\title{\textbf{\emph{My title}, cor gentile}}
\subtitle{my subtitle}
\author{author\\
email: my mail}
\date{}
\begin{document}
\maketitle
\section{bla}
\end{document}
对于我来说,关于副标题的解决方案很简单,但即使删除包,titling
日志也会报告很多错误polyglossia
,其中最相关的是与以下内容相关的biblatex
:
Package biblatex Error: No default polyglossia language defined
即使相比之下,两者似乎都能正常工作。
有任何线索知道如何解决吗?
答案1
你的序言有点乱。软件包的加载顺序非常重要。
以下是带有一些注释的版本:请注意,cleveref
应该是最后一个。并且,为了您自己的理智,只加载您做需要。
然而bidi
,由于titling
不是工作,因为bidi
包不知道它,所以它会覆盖它的定义。您可以通过删除arabic
语言选项来检查这一点。
\documentclass[11pt,a4paper]{article}
\usepackage[heightrounded, headheight=114pt,marginparwidth=2.5cm]{geometry}
\usepackage[quiet]{polyglossia}
\usepackage{csquotes}
\usepackage[block=none,style=philosophy-modern]{biblatex}
\usepackage{titling}
%\usepackage{fontenc} % don't load it
\usepackage{calc}
\usepackage{verse}
\usepackage{graphicx}
\usepackage{draftcopy}
\usepackage{enumitem}
\usepackage{xpatch}
\usepackage{datetime}
\usepackage{marginnote}
\usepackage{xspace}
%\usepackage{xltxtra} % don't load it
\usepackage{fancyhdr}
%\usepackage{etoolbox} % already loaded by xpatch
\usepackage[final,ulem=normalem]{changes}
\usepackage{cleveref} % should be last
% languages
\setdefaultlanguage{italian}
\setotherlanguages{arabic,greek,english,german}
% fonts
\setmainfont{Gentium Plus}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{Scheherazade}
% bibliographies
\addbibresource{my.bib}
\nocite{*}
% settings
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\thesection.\Roman{subsection}}
\newcommand{\subtitle}[1]{%
\posttitle{%
\par\end{center}
\begin{center}\large#1\end{center}
\vskip0.4em}%
}
% meta data
\title{\textbf{\emph{My title}, cor gentile}}
\subtitle{my subtitle}
\author{author\\
email: my mail}
\date{}
\begin{document}
\maketitle
\section{bla}
\end{document}