由于多种原因,我正在处理一个应该可以通过 或 编译的源文件xelatex
。lualatex
我希望文本使用英式连字,并使用csquotes
和biblatex
选项british
。
在 XeTeX 邮件列表中提到了两件事:
(a) 使用polyglossia
,而不是babel
与 一起xelatex
;
(b)目前polyglossia
与 不相容;请改用。lualatex
babel
下面我展示了一个包含我的问题和我当前设置的示例文件。
\documentclass[12pt,a4paper]{memoir}
%
\usepackage{fontspec}
\setmainfont{Minion Pro}
\setsansfont{Myriad Pro}
%
% We want to compile with either xelatex or lualatex
% The former requires polyglossia for british hyphenation
% The latter requires bable for british hyphenation
%
% Ideally something like (unsure if this is correct)
%
% \ifxetex
% \usepackage{polyglossia}
% \setmainlanguage[variant=british]{english}
%
% \ifluatex
% usepackage[british]{babel}
%
% should work but I do not know the correct syntax for it.
%
% My workaround is:
%
\makeatletter
\language=\l@british
\makeatother
%
% which works but is inelegant in a *LaTeX source file.
%
\usepackage[backend=biber,babel=none,date=iso8601,urldate=iso8601,language=british,refsection=chapter,sorting=none,style=numeric-comp,hyperref=auto]{biblatex}
\usepackage[english=british]{csquotes}
\begin{document}
Try some hyphenation, some \enquote{quotations}, and some references to see if everything works.
\end{document}
任何使连字符和其他语言功能(如日期)在两者之间一致起作用的建议xelatex
都是lualatex
非常受欢迎的。
答案1
尽管多语被广泛推荐用于 XeLaTeX,巴别塔仍然可以用于只需要拉丁字母的语言。
答案2
\usepackage{ifluatex,ifxetex}
\ifxetex
\usepackage{polyglossia}
\setmainlanguage[variant=british]{english}
\else\ifluatex
\usepackage[british]{babel}
\fi\fi
这polyglossia
将为 xetex 和babel
luatex 加载。