First, I do NOT want to write a document with multiple language in it. My goal is to have in a single TeX file in which I would write a section in say English and below the same section but translated in French. And when compiling, I could choose in which language to generate the PDF output.

Here is how I imagined it could have been implemented:



    Hello world!

    Bonjour le monde!


Which could generate either an output showing:

Hello world!

or another output showing:

Bonjour tout le monde!

This problem seems too obvious for me to not have a solution, but I could not find any. I would totally be fine with a solution as basic as having a variable in a file that is used to determine which part to compile. Or should I use complete other methodology? As my document will be mostly figures and very little text, I think it could be easier to keep formatting coherent by having both languages next to each other.

  • You could create something based on the comment package.
    – Skillmon
    Commented Jan 9, 2018 at 21:02
  • My suggestion (as long as only two languages are involved) is to usexifthen and to do switching with \ifthenelse{isEnglish}{Hello}{Bonjour}. Commented Jan 9, 2018 at 21:39
  • \newif\ifusingfrench\usingfrenchfalse or \usingfrenchtrue. Then \ifusingfrench <French> \else <English>\fi and add british or american or french or whatever to the class call and load babel.
    – cfr
    Commented Jan 10, 2018 at 0:38
  • 1
    Or you may consider the multiaudience package which is pretty flexible.
    – TeXnician
    Commented Jan 10, 2018 at 5:31
  • @TeXnician Exactly what I wanted! I converted your comment into an answer. Also, do you know how to define the macro in texify parameters? I uses TeXworks and want to have one Typeset for each languages. I saw this line in the documentation: pdflatex -jobnane file-execs "\def\CurrentAudience{execs}\input{file}" but I couldn't make it work with texify
    – Puck
    Commented Jan 10, 2018 at 7:39

1 Answer 1


Thanks to TeXnician's comment, I could do what I wanted. Here is an example how to use multiaudience package to have multiple languages in same files:





Common text for all languages

Bonjour tout le monde!

Hello world!


Where changing the first line to \def\CurrentAudience{french} set the compilation for French part.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .