暂时更改引用语言

暂时更改引用语言

我使用 XeLaTex 和 Biblatex 撰写英语论文。当我引用两位作者时,我得到的结果是“X 和 Y”,这没问题。但是,我的论文中有一部分是德文摘要,而我只希望在那部分得到“X 和 Y”。我该怎么做?

答案1

问题(#359)已经被biblatex开发人员解决了(在提交 0513325)。更新版本尚未进入 CTAN,但可以在sourceforge 上的开发文件夹

下面几行现在重现了官方修复

\makeatletter
\protected\def\blx@citeinit{%
  \iftoggle{blx@bibliography}
    {}
    {\toggletrue{blx@citation}}%
  \blx@blxinit
  \blx@langstrings
  \citesetup
  \blx@setsfcodes
  \blx@postpunct@agroup
  \blx@resetdata
  \blx@leavevmode
  \csuse{blx@hook@cite}%
  \csuse{blx@hook@cite@next}%
  \let\blx@citeinit\blx@resetdata}
\makeatother

并且可以放入你的序言中以暂时获得所需的行为。

我在下面保留我原来的答案以供参考


biblatexpolyglossia界面仍处于初步阶段,使用 完成的一些精心设计的技巧babel无法一对一地映射到polyglossia,有一件事是polyglossia需要轻推才能加载biblatex的本地化。biblatex已经有一个命令来确保这一点,但它不适用于通过 的polyglossia命令切换语言时。

您可以使用

\makeatletter
\apptocmd\select@@language{\blx@langstrings}
\makeatother

平均能量损失

\documentclass{article}        
\usepackage{polyglossia}
\setdefaultlanguage[variant=british]{english}
\setotherlanguage{german}
\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}

\makeatletter
\apptocmd\select@@language{\blx@langstrings}
\makeatother

\begin{document}
\cite{sigfridsson}

\begin{german}
\cite{sigfridsson}
\end{german}

\cite{sigfridsson}
\end{document}

示例输出

相关内容