在之前的一个问题 ( https://tex.stackexchange.com/questions/548738/special-character-oe-and-biblatex-with-xelatex
) 中,有人提出修改部分代码来解决这个问题。但新代码似乎与序言中与 titlepage 相关的块代码不兼容(来自 Tufte-book documentclass)。上面的 MWE 中将此块代码标记为“NEW”。此 Bock 代码阻止使用 XeLateX 进行编译,并导致错误消息:Package soul Error。
\RequirePackage{luatex85}
\documentclass[nobib,symmetric,justified,marginals=raggedouter]{tufte-book}
\usepackage{fontspec}
\setmainfont{fbb}
\usepackage{microtype}
\usepackage{fancyvrb}
\newcommand{\plainsubtitle}{}% plain-text-only subtitle %NEW
\newcommand{\subtitle}[1]{% NEW
\gdef\@subtitle{#1}% NEW
\renewcommand{\plainsubtitle}{#1}% use provided plain-text title %NEW
\ifthenelse{\isundefined{\hypersetup}}% NEW
{}% hyperref is not loaded; do nothing% NEW
{\hypersetup{pdftitle={\plaintitle: \plainsubtitle{}}}}% set the PDF metadata title %NEW
}
\renewcommand{\maketitlepage}[0]{% NEW
\cleardoublepage% NEW
{% NEW
\ssffamily% NEW
\begin{fullwidth}% NEW
\fontsize{18}{20}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\thanklessauthor}}% NEW
\vspace{11.5pc}% NEW
%\fontsize{36}{40}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\thanklesstitle}}% NEW
\fontsize{30}{32}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\thanklesstitle}}% NEW
\vspace{3pc}% NEW
\fontsize{25}{27}\selectfont\par\noindent\textcolor{darkgray}{\allcaps{\plainsubtitle}}% NEW
\vfill% NEW
\fontsize{14}{16}\selectfont\par\noindent\allcaps{\thanklesspublisher}% NEW
\end{fullwidth}% NEW
}% NEW
\thispagestyle{empty}% NEW
\clearpage% NEW
}% NEW
\makeatother % NEW
\title{The Title}% NEW
\subtitle{The subtitle}% NEW
\author{From me} % NEW
\publisher{Editor}% NEW
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear-icomp]{biblatex}
\makeatletter
\newbibmacro*{adtcite}{%
\iffieldundef{shorthand}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\iffieldequals{namehash}{\cbx@lasthash}
{\setunit{\compcitedelim}}
{\printnames{labelname}%
\setunit*{\printdelim{nameyeardelim}}%
\printlabeldateextra
\setunit*{\printdelim{nametitledelim}}%
\savefield{namehash}{\cbx@lasthash}}%
\usebibmacro{cite:title}}}%
{\usebibmacro{cite:shorthand}%
\usebibmacro{cite:reinit}}%
\setunit{\multicitedelim}}
\makeatother
\newbibmacro*{cite:title}{%
\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
\DeclareCiteCommand{\fadtcite}[\mkbibfootnote]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{adtcite}}
{}
{\usebibmacro{cite:postnote}}
\DeclareMultiCiteCommand{\fadtcites}[\mkbibfootnote]{\fadtcite}{\setunit{\multicitedelim}}
\DeclareAutoCiteCommand{fadt}{\fadtcite}{\fadtcites}
\ExecuteBibliographyOptions{autocite=fadt}
\usepackage{mdframed}
\newmdenv[skipabove=3.5ex plus 1ex minus .2ex,% Equal to section title spacing
innerleftmargin=0pt,innerrightmargin=0pt,%
innerbottommargin=0pt,innertopmargin=0pt,linewidth=0pt,innermargin=0pt,%
outermargin=\dimexpr-\marginparwidth-\marginparsep\relax]{mdfullwidth}
\defbibenvironment{bibliography}
{\list{}{\parsep\bibparsep}}
{\endlist}
{\item}
\AtEveryBibitem{\hskip-\bibhang}
\begin{filecontents}{\jobname.bib}
@BOOK{Buchet,
author = {Buchet, Edmond},
title = {Jean-S\'{e}bastien Bach. L'\oe uvre et la vie.
Deux si\`{e}cles d'\'{e}tudes et de t\'{e}moignages},
year = {1963},
publisher = {\'{E}ditions Les Libraires Associ\'{e}s},
place = {Saverne},
pagetotal = {267},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\frenchspacing% NEW
% Front matter
\frontmatter% NEW
\maketitle% NEW
\cleardoublepage% NEW
% r.1 blank page
\blankpage% NEW
% r.3 full title page
\maketitle% NEW
\cleardoublepage% NEW
% r.1 blank page
\blankpage% NEW
\newthought{How to fix} the problem with "\oe uvre"\autocite[42]{Buchet}?
\begin{fullwidth}
\bibhang=0pt
\printbibliography
\end{fullwidth}
\end{document}
感谢您的帮助,帮助我们解决问题。