# How do I set up an environment for multiple languages?

been trying to set up a real multilangual environment for year. Now finally I would like to get it done. Why does the following mwe not work?:

\documentclass[a4paper, twoside]{book}

\usepackage{polyglossia}
\newfontfamily{\greekfont}{Calibri}[
Script=Greek,
NFSSFamily=liberationserif,
]
\newfontfamily{\greekfontsf}{Calibri}[
Script=Greek,
NFSSFamily=liberationsans,
]
\newfontfamily\arabicfont[Script=Arabic]{Amiri}%
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\mySymbolsFont{Segoe UI Symbol}
\setdefaultlanguage[spelling=new]{german}
\setotherlanguage[variant=ancient]{greek}

\setotherlanguage[numerals=western]{arabic}
\setotherlanguage{farsi}

\usepackage{longtable}

\begin{document}

\chapter{Deutsch}

content does not matter

\end{document}


without the lines

\setotherlanguage[numerals=western]{arabic}
\setotherlanguage{farsi}


it works with longtable. Adding either of them breaks it. Without longtable it works. But if I have to move away from longtable I need alternative versatile support for tables spanning multiple pages.

In the end I want an environment for a German book (all the meta strings like Chapter=Kapitel, Table of Contents=Inhaltsverzeichnis, ...) but with both inline words and sentence fragments as well as whole paragraphs in Greek (must have), Chinese (must have), Arabic (must have) and the ability to throw in other scripts later (nice to have), and English of course, but that works anyways.

I am using XeLaTeX (I want to type Chinese and Arabic naturally, => Unicode) and Biber (I have Authors and Titles in Chinese and Arabic).

Hope this time I get it done, thx for helping in advance.

• What are you trying to achieve with NFSSFamily=liberationserif and NFSSFamily=liberationsans? This doesn’t look like the account of the NFSSFamily feature in the fontspec manual. – Thérèse Jan 19 '18 at 17:52
• @Thérèse: your second comment would be the answer, That I would like to mark as the solution. – Erik Itter Jan 20 '18 at 19:46
• Regarding parallel processing, you should take a look at paracol. – Robert Alessi Mar 11 '18 at 13:06

Because you are compiling with xetex and selecting Arabic and Farsi, polyglossia loads bidi, which wants to be loaded last. When it’s not loaded last, it produces an error along these lines:
! Package bidi Error: Oops! you have loaded package longtable after

This is somewhat confusing if you’re unaware that polyglossia has loaded bidi for you. But loading longtable before polyglossia will, in effect, load longtable before bidi and fix the error.