使用 xelatex 或 lualatex 进行英式连字符连接

使用 xelatex 或 lualatex 进行英式连字符连接

由于多种原因,我正在处理一个应该可以通过 或 编译的源文件xelatexlualatex我希望文本使用英式连字,并使用csquotesbiblatex选项british

在 XeTeX 邮件列表中提到了两件事:

(a) 使用polyglossia,而不是babel与 一起xelatex

(b)目前polyglossia与 不相容;请改用。lualatexbabel

下面我展示了一个包含我的问题和我当前设置的示例文件。

\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 和babelluatex 加载。

相关内容