[Tex/LaTex] Abstracts in different languages on the same page

abstractlanguages

How to place 3 abstracts (English, French and Arabic) on on the same page?

I tried to put them in a single page, but it does not work :

\documentclass[12pt,a4paper]{report}
\usepackage[Bjornstrup]{fncychap}
\usepackage[utf8]{inputenc}
\usepackage{arabtex}
\begin{document}
 \begin{abstract}
   %abstract in french
 \end{abstract}
\renewcommand{\abstractname}{Abstract}
\begin{abstract}
   %abstract in english
 \end{abstract}
\renewcommand{\abstractname}{ملخص}
\begin{abstract}
   %abstract in arabic
 \end{abstract}
\end{document}

Best Answer

If you don't need the titlepage class option (used by default in report), the easiest solution is to use notitlepage:

\documentclass[12pt,a4paper,notitlepage]{report}
\usepackage[ngerman,french,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{arabtex}

\begin{document}
\selectlanguage{french} 
\begin{abstract}
Abstract in French
\end{abstract}
\selectlanguage{english} 
\begin{abstract}
Abstract in English
\end{abstract}
\selectlanguage{ngerman} 
\begin{abstract}
Abstract in German
\end{abstract}
\selectlanguage{english}

\end{document}

enter image description here

Notice that I used the babel package with three modules: ngerman, french, and english (since english is the last declared language, this is the main language for the document) and then used \selectlanguage to change to the corresponding option for each abstract.

In your actual code you won't need ngerman (I only used ngerman to simulate a third language since I don't have the Arabic font you are using), so load only the french and english modules.

As egreg has mentioned in a comment, instead of issuing \selectlanguage commands, one can enclose the abstracts in languages different from the main one in otherlanguage environments. This is cleaner, for it doesn't require to reset the language at the end:

\documentclass[12pt,a4paper,notitlepage]{report}
\usepackage[ngerman,french,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{arabtex}

\begin{document}
\begin{otherlanguage}{french} 
\begin{abstract}
Abstract in French
\end{abstract}
\end{otherlanguage}

\begin{abstract}
Abstract in English
\end{abstract}

\begin{otherlanguage}{ngerman} 
\begin{abstract}
Abstract in German
\end{abstract}
\end{otherlanguage}

\end{document}
Related Question