[Tex/LaTex] Apalike style several languages

apa-stylebibliographiesbibtexlanguagesnatbib

I am writting my PhD thesis and I have in the manuscript two version of the introduction: one is in French and the other in English.

I am using the bibliography style apalike.

When using the commands \cite of \citep in the French part, I would like to have the information in the text in French. For example I have "Author and Author", when I would like to have "Author et Author".

Best Answer

apalike is a monolingual style and only speaks English. The "and" you see in the citation is hard-coded and can't be changed easily on the fly (you can edit the .bst file to exchange the "and" for something else, even a macro). The styles from the babelbib bundle can change the language of the bibliography entries automatically, but the bundle does not come with an equivalent for apalike. Some styles such as those of the harvard bundle already use a macro for the and (\harvardand), which could be redefined when you change languages. But I can't think of a BibTeX style/package that would automatically adapt the citation to the surrounding language.


Since you tagged the question with biblatex, here is a solution using that package. Note that BibTeX styles such as apalike are completely incompatible with biblatex, so there is some work involved in switching to biblatex and you can not continue to use apalike, you'll have to find a different style. See bibtex vs. biber and biblatex vs. natbib, What to do to switch to biblatex? and Biblatex with Biber: Configuring my editor to avoid undefined citations.

I'm not aware of a biblatex style that would give the exact same output as apalike, but you can start from the standard authoryear style and modify it as you see fit. There are many questions about that on this site, you can find a good start in Guidelines for customizing biblatex styles.

With biblatex citations automatically adapt to the surrounding language and so

\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}

produces

Bonjour Sigfridsson et Ryde 1998

Hello Sigfridsson and Ryde 1998

If you don't like the small caps in the French citations you can disable them with

\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}

See also Keep lowercase in biblatex.