# Abstracts in different languages on the same page

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}

• Couldn't you just put the three abstracts in the same abstract environment, with a little space between them? It looks to me like the abstract environment is designed to start a new page each time, at least in the report class. Jun 8, 2013 at 9:56
• If you don't really need the report class, using the article class you'll have all of them in the same page. Jun 8, 2013 at 9:59
• the summary arab it does not work too! but the other, each is displayed on a page : \renewcommand{\abstractname}{ملخص} \begin{abstract} %abstract in arabic \end{abstract} Jun 8, 2013 at 10:00
• @karlkoeller : yes i need the report class Jun 8, 2013 at 10:01
• Put all abstract environment inside a single minipage. Jun 8, 2013 at 10:31

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}


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}

• Instead of issuing \selectlanguage commands, enclose the abstracts in languages different from the main one in a \begin{otherlanguage}{<language>} command. This is cleaner, for it doesn't require to reset the language at the end. Jun 8, 2013 at 22:00
• May I ask why this code doesn't work for me when I am using the document class amsbook? Feb 21, 2019 at 22:13
• What about creating two \chapter*{ABSTRACT} and \chapter*{ABSTRACT2} ?
– skan
Sep 14, 2019 at 23:56

The Answer we all were looking for, are the following two lines of code:

\patchcmd{\abstract}{\titlepage}{\thispagestyle{empty}}{}{}
\patchcmd{\endabstract}{\endtitlepage}{}{}{}


They redefine the abstract environment from it's original form.

\patchcmd{\abstract}{\titlepage}{\thispagestyle{empty}}{}{}
\patchcmd{\endabstract}{\endtitlepage}{\clearpage}{}{}


As a result you are able to put several abstracts on one page. This also works perfect on overleaf with the use of a titlepage.