Apalike 风格多种语言

Apalike 风格多种语言

我正在撰写博士论文,手稿中有两个版本的引言:一个是法语,另一个是英语。

我正在使用 apalike 参考书目样式。

\cite当使用法语部分的命令时\citep,我希望以法语显示文本中的信息。例如,我有“Author and Author”,但我想使用“Author et Author”。

答案1

apalike是一种单语样式,只支持英语。您在引文中看到的“and”是硬编码的,无法轻松动态更改(您可以编辑文件.bst以将“and”替换为其他内容,甚至是宏)。软件包中的样式babelbib可以自动更改参考书目条目的语言,但软件包没有附带等效的apalike。某些样式(例如软件包中的样式)harvard已经使用 and ( ) 的宏\harvardand,可以在您更改语言时重新定义它。但我想不出一个 BibTeX 样式/包可以自动使引文适应周围的语言。


由于您使用 标记了问题biblatex,因此这里是使用该包的解决方案。请注意,诸如 之类的 BibTeX 样式apalike与 完全不兼容biblatex,因此切换到 需要做一些工作biblatex,并且您无法继续使用apalike,您必须找到不同的样式。请参阅bibtex 与 biber 以及 biblatex 与 natbib 的比较要切换到 biblatex 该怎么做?Biblatex 与 Biber:配置我的编辑器以避免未定义的引用

我不知道有哪种biblatex样式可以产生与 完全相同的输出apalike,但您可以从标准authoryear样式开始,并根据需要进行修改。这个网站上有很多关于此的问题,您可以在中找到一个很好的开始自定义 biblatex 样式的指南

引用会biblatex自动适应周围的语言等

\documentclass[french,british]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}


\begin{document}

\begin{otherlanguage}{french}
\chapter{French}
Bonjour \cite{sigfridsson}
\end{otherlanguage}


\chapter{English}
Hello \cite{sigfridsson}
\printbibliography
\end{document}

生产

你好 Sigfridsson 和 Ryde 1998

你好 Sigfridsson 和 Ryde 1998

如果你不喜欢法语引文中的小写字母,你可以使用以下方法禁用它们

\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}

也可以看看在 biblatex 中保留小写

答案2

natbib以下是使用和 的修改版本的解决方案apalike.bst。首先,复制 并将apalike.bst其放在与论文文件相同的文件夹中。在此示例中,我将文件命名为apalike-bilingual

您将在其中发现两个功能:

FUNCTION {format.lab.names}

FUNCTION {format.names}

在每个函数中,您都会发现包含的代码" and "。这是您将要更改的代码。在format.lab.names更改中:

{ " and " * s #2 "{vv~}{ll}" format.name$ * }

{ " \harvardand\ " * s #2 "{vv~}{ll}" format.name$ * }

原则上,这是您唯一需要做的事情,因为您只想更改引用标注。但为了完整性,您还需要更改函数label-names。更改:

{ " and " * t * }

{ " \harvardand\ " * t * }

现在,此代码会生成一个apalike使用\harvardand宏作为其的版本。请注意,更改后的代码中的and以下内容很重要,因为宏之后的空格会被吞噬。\

使用 Ulrike Fischer 在此处提供的解决方案:语言相关引用和 natbib现在,我们可以通过将法语版本添加到 来使\harvardand命令对当前语言敏感。感谢 Ulrike 提供此解决方案,并感谢 moewe 指出我们可以直接使用,而不是像链接问题中那样使用条件。babel\harvardand\frenchcaptionsbabel

\begin{filecontents}{\jobname.bib}
@article{twoauthors,
title={A cool paper},
author={Duck, A. and Marmot, A.},
journal={Journal of Irrelevant Science},
year={2019},
volume={1}}
\end{filecontents}

\documentclass{article}
\usepackage{natbib}
\bibliographystyle{apalike-bilingual}
\usepackage[french,english]{babel}
\usepackage{etoolbox}
\DeclareRobustCommand{\harvardand}{and}
\appto\captionsfrench{\DeclareRobustCommand{\harvardand}{et}}

\begin{document}


English citation: \cite{twoauthors}

\begin{otherlanguage}{french}
French citation: \cite{twoauthors}
\end{otherlanguage}

\bibliography{\jobname}

\end{document}

代码输出

相关内容