同一 LaTeX 文档的两种不同语言的引用

同一 LaTeX 文档的两种不同语言的引用

我正在使用 overleaf 编写一份 LaTeX 文档,需要同时用法语和英语编写。我使用包\citalp中的函数natbib,它进行如下引用:

  • Smith,1999。如果 1 位作者
  • Smith 和 Jones,1999 年。如果有 2 位作者。
  • Smith 等人,1999 年。如果有超过 2 位作者。

但是当我用法语写作时,对于两位作者的情况,我需要引用“Smith et Jones, 1999”,“et”代表“and”。但我仍然需要保留\citalp英文段落。

下面是我所拥有的一个例子:

TeX 文件:

\documentclass[a4paper,12pt]{article}

\usepackage{natbib}

\begin{document}

\section{French section}

Let's say this is french text for which i need to cite "Smith et Jones, 1999" but sadly, the citealp function gives me this: \citealp{smith1999}

\section{English section}

This paragraph is written in English so using citealp is what i need:  \citealp{smith1999}

\bibliographystyle{plainnat}
\bibliography{test}

\end{document}

测试文件

@article{smith1999,
    author = {Smith, A. and Jones, B.},
    title = {A very nice paper},
    journal = {Great Journal},
    year = {1999}
} 

答案1

如果您不必绝对使用 -package natbib,我建议您进行相当轻松的切换biblatex(使用 natbib=true)。moewe 绝对正确,这种改变将使您的生活变得轻松很多。

有几件事需要改变,比如删除法语姓名中的小写字母(参见我的 MWE 中的评论)和几个首字母。这非常接近natbib并将无限简化您的生活。

我已经使用 overleaf 测试了以下最小工作示例。它开箱即用:

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

% Bibliography-Settings
\usepackage[
style=authoryear,giveninits=true,uniquename=init,natbib=true
]{biblatex}

% Remove small caps in the French version
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\addbibresource{test.bib}

\usepackage{csquotes}
\usepackage[french,english]{babel}

\begin{document}

\section{French section}
\selectlanguage{french}
Let's say this is french text for which i need to cite "Smith et Jones, 1999" but sadly, the citealp function gives me this: \citealp{smith1999}

\section{English section}

\selectlanguage{english}
This paragraph is written in English so using citealp is what i need: \citealp{smith1999}

\printbibliography

\end{document}

它看起来是这样的:

使用 biblatex 引用不同语言

相关内容