3

I use expex package to create bilingual book. On some pages (usually even) layouts breaks. There is not enough margin on right side. The question is why?

I am going to post some long example with demo to illustrate the problem.

\documentclass[a5paper, titlepage]{memoir}

\usepackage{expex}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{indentfirst}

\usepackage[utf8]{inputenc}
\usepackage[english, polish]{babel}
\usepackage{polski}

\title{Le petit prince}
\author{Antoine de Saint-Exupéry}
\date{\vspace{-5ex}}

\definecolor{halfgray}{gray}{0.55}

\lingset{glspace=1em,everygla={\pdfliteral{0 g 0 G}},everyglb=\pdfliteral{0.25 g 0.25 G} \scriptsize, glhangstyle=none, glwordalign=center}

\begin{document}

\begingl
\gla
{J’ai ainsi vécu} seul, sans personne avec qui parler véritablement, {jusqu’à} {une panne} {dans le désert du Sahara}, {il y a six ans}. 
{Quelque chose} s’était cassé dans mon moteur. 
{Et comme} {je n’avais} avec moi ni mécanicien, ni passagers, {je me préparai} à {essayer de réussir}, {tout seul}, {une réparation difficile}. 
{C’était} pour moi {une question de vie ou de mort}. 
{J’avais} {à peine} {de l’eau à boire} pour huit jours.//
\glb
{Żyłem zatem} samemu, bez osoby z którą {rozmawia się} wiarygodnie {aż do} awarii {na pustyni Sahara} {6 lat temu} 
Coś było zepsute w moim silniku
{I jako że} {nie miałem} ze sobą ani mechanika ani pasażerów {przygotowałem się} do {spróbowania} samemu {ciężkiej naprawy}
{To była} dla mnie {kwestia życia i śmierci}
Miałem {zaledwie} {wody do picia} na osiem dni//
\endgl

\begingl
\gla
{Le premier} soir {je me suis donc endormi} sur {le sable} {à mille milles} {de toute terre habitée}.
J’étais {bien plus} isolé qu’un naufragé sur {un radeau} au milieu {de l’océan}. 
Alors {vous imaginez} ma surprise, {au lever du jour}, quand {une drôle de petite voix} {m’a réveillé}. Elle {disait :…}//
\glb
Pierwszego wieczoru {zatem zasnąłem} na piasku {tysiące mil} {od ziemii zamieszkałej}
Byłem {dużo bardziej} odizolowony niż rozbitek na tratwie po środku oceanu
Więc {wyobrażacie sobie} moje zaskoczenie {o świcie} kiedy {zabawny głosik} {mnie obudził}.
On mówił//
\endgl

\begingl
\gla
— {S’il vous plaît…} dessine-moi {un mouton !} //
\glb
{} Proszę {narysuj mi} baranka//
\endgl

\begingl
\gla
— {Hein !} //
\glb
{} Co//
\endgl


\begingl
\gla
— Dessine-moi {un mouton}…//
\glb
{} {Narysuj mi} baranka//
\endgl

\begingl
\gla
{J’ai sauté sur mes pieds} {comme si} {j’avais été} frappé par {la foudre}. 
{J’ai bien frotté} mes yeux. 
{J’ai bien regardé}. 
Et {j’ai vu} {un petit bonhomme} {tout à fait} extraordinaire qui {me considérait} gravement. 
Voilà {le meilleur} portrait que, {plus tard}, {j’ai réussi à faire de lui}.//
\glb
{Skoczyłem na równe nogi} jakbym był trafionym przez piorun
Przetarłem moje oczy. 
{Dobrze się przyjrzałem}. 
I widziałem {małego gościa} zupełnie nadzwyczajnego który {przyglądał mi się} poważnie 
Oto najlepszy portret który później {udało mi się jemu zrobić}//
\endgl

\begingl
\gla
Mais mon dessin, {bien sûr}, est beaucoup moins ravissant que {le modèle}. 
Ce {n’est pas de ma faute}. 
{J’avais été} découragé dans ma carrière {de peintre} par {les grandes personnes}, {à l’âge de six ans}, et {je n’avais rien appris} {à dessiner}, sauf {les boas} fermés et {les boas} ouverts.//
\glb
Ale mój rysunek oczywiście jest dużo mniej wspaniały niż model
To {nie jest moja wina}
Byłem zniechęcony w mojej karierze malarza przez {dorosłe osoby} {w wieku 6 lat} i {nie nauczyłem się nic} rysować poza boza zamkniętymi i boa otwartymi//
\endgl

\begingl
\gla
{Je regardai} donc cette apparition avec {des yeux} tout {ronds d’étonnement}.
{N’oubliez pas} que {je me trouvais} {à mille milles} {de toute région habitée}. 
Or mon petit bonhomme {ne me semblait} ni égaré, ni {mort de fatigue}, ni {mort de faim}, ni {mort de soif}, ni {mort de peur}. 
Il {n’avait} {en rien} l’apparence {d’un enfant} perdu {au milieu} {du désert}, {à mille milles} {de toute région habitée}. 
Quand {je réussis} enfin {à parler}, {je lui dis :}//
\glb
{Przyglądałem się} zatem tej zjawie z oczami całymi {zaokrąglonymi ze zdziwienia}
{Nie zapomnijcie} że {znalazłem się} {tysiące mil} {od regionu zamieszkałych}
Otóż mój mały gość {nie wydawał się} ani zgubiony ani zmęczony ani wygłodzony ani spragniony ani przestraszony.
On {nie miał} {w ogóle} wyglądu dziecka zgubionego {po środku} pustyni {tysiące mil} {od regionu zamieszkałego}
Kiedy {udało mi się} wreszcie odezwać, {powiedziałem mu}//
\endgl

\begingl
\gla
— Mais {qu’est-ce que} tu fais là//
\glb
{} Ale {co} ty robisz tutaj//
\endgl

\begingl
\gla
Et {il me répéta} alors, {tout doucement}, comme {une chose} très {sérieuse :}//
\glb
I {powtórzył mi} wówczas powoli jakby rzecz bardzo ważną//
\endgl

\begingl
\gla
— {S’il vous plaît…} dessine-moi {un mouton…}//
\glb
{} Proszę {narysuj mi} baranka//
\endgl

\begingl
\gla
Quand {le mystère} est trop impressionnant, {on n’ose pas désobéir}. 
Aussi absurde que cela {me semblât} {à mille milles} {de tous} {les endroits habités} et {en danger de mort}, {je sortis} {de ma poche} {une feuille de papier} et {un stylographe}. 
Mais {je me rappelai} {alors que} {j’avais surtout étudié} {la géographie}, l’histoire, {le calcul} et {la grammaire} et {je dis} {au petit bonhomme} (avec {un peu} {de mauvaise humeur}) que {je ne savais pas} dessiner. 
Il me {répondit :}//
\glb
Kiedy tajemnica jest zbyt imponująca {nie można odważyć się sprzeciwić} 
Również absurdalnie że tutaj {mnie wydawało się} {tysiące mil} {od wszystkich} {miejsc zamieszkałych} i {w niebezpieczeństwie śmierci} wyjąłem {z kieszieni} {kartkę papieru} i {wieczne pióro}
Ale {przypominałem sobie} {w tym samym momencie że} {studiowałem głównie} geografię, historię, rachunkowość i gramatykę i powiedziałem {małemu gościowi} (z trochę {złym humorem}) że {nie umiem} rysować
On mi odpowiedział//
\(\)\endgl


\end{document}

Demo: http://helid.vipower.pl/demo.pdf

How can I force latex to keep appropriate margin?

10
  • 1
    I don't know the package so it's hard for me to correct but it will be difficult to linebreak the French texts without french hyphenation, and I don't see french language specified anywhere Commented Nov 8, 2014 at 22:30
  • I've tried \usepackage[francais, french, polish]{babel} without desired effect. By the way are french and francais the same package? Commented Nov 8, 2014 at 22:37
  • I think the babel options are the same., yes, but looking at your document is there any automatic linebreaking? It looks like each \gla is forced to a line so the commentry can line up under each word. If that is the case you need to put less words on a line, or use a smaller font Commented Nov 8, 2014 at 22:39
  • Probably it is. However, I would like to create bilingual book. If I would make one sentence smaller there will be next sentence and so on. I would have to manually create one sentence per each line. It doesn't sound like elegant solution. Commented Nov 8, 2014 at 22:43
  • I have never used the package, so don't despair, probably you'll get an answer from someone who does know its features better:-) Commented Nov 8, 2014 at 22:46

1 Answer 1

3

Two parameters provided by expex can be manipulated to fix this problem:

  1. glspace: controls the horizontal space between glwords
  2. glrightskip: controls how much horizontal space there can be between the right edge of the last glword and the right margin

These are described in section 9.1 of the expex documentation, and section 11.3.1 is specifically about how to set them so that your lines will wrap correctly.

In your case, you have a very narrow page width and some very long glwords like nie można odważyć się sprzeciwić. expex cannot break lines at spaces within glwords, let alone hyphenate within them, so you need to increase glspace and glrightskip to make sure these long glwords don't extend into the right margin.

I've modified your MWE to use a value of !0pt plus .2em for glspace and 0pt plus .3\hsize for glrightskip. You may want to play with these a little to get it to look exactly as you want it, but these values do prevent each line in the MWE from extending into the right margin.

enter image description here

\documentclass[a5paper, titlepage]{memoir}

\usepackage{showframe} % used to show margin lines

\usepackage{expex}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{indentfirst}

\usepackage[utf8]{inputenc}
\usepackage[english, polish]{babel}
\usepackage{polski}

\title{Le petit prince}
\author{Antoine de Saint-Exupéry}
\date{\vspace{-5ex}}

\definecolor{halfgray}{gray}{0.55}

\lingset{glspace=!0pt plus .2em, glrightskip=0pt plus .3\hsize, everygla={\pdfliteral{0 g 0 G}},everyglb=\pdfliteral{0.25 g 0.25 G} \scriptsize, glhangstyle=none, glwordalign=center}

\begin{document}

\begingl
\gla
{J’ai ainsi vécu} seul, sans personne avec qui parler véritablement, {jusqu’à} {une panne} {dans le désert du Sahara}, {il y a six ans}. 
{Quelque chose} s’était cassé dans mon moteur. 
{Et comme} {je n’avais} avec moi ni mécanicien, ni passagers, {je me préparai} à {essayer de réussir}, {tout seul}, {une réparation difficile}. 
{C’était} pour moi {une question de vie ou de mort}. 
{J’avais} {à peine} {de l’eau à boire} pour huit jours.//
\glb
{Żyłem zatem} samemu, bez osoby z którą {rozmawia się} wiarygodnie {aż do} awarii {na pustyni Sahara} {6 lat temu} 
Coś było zepsute w moim silniku
{I jako że} {nie miałem} ze sobą ani mechanika ani pasażerów {przygotowałem się} do {spróbowania} samemu {ciężkiej naprawy}
{To była} dla mnie {kwestia życia i śmierci}
Miałem {zaledwie} {wody do picia} na osiem dni//
\endgl

\begingl
\gla
{Le premier} soir {je me suis donc endormi} sur {le sable} {à mille milles} {de toute terre habitée}.
J’étais {bien plus} isolé qu’un naufragé sur {un radeau} au milieu {de l’océan}. 
Alors {vous imaginez} ma surprise, {au lever du jour}, quand {une drôle de petite voix} {m’a réveillé}. Elle {disait :…}//
\glb
Pierwszego wieczoru {zatem zasnąłem} na piasku {tysiące mil} {od ziemii zamieszkałej}
Byłem {dużo bardziej} odizolowony niż rozbitek na tratwie po środku oceanu
Więc {wyobrażacie sobie} moje zaskoczenie {o świcie} kiedy {zabawny głosik} {mnie obudził}.
On mówił//
\endgl

\begingl
\gla
— {S’il vous plaît…} dessine-moi {un mouton !} //
\glb
{} Proszę {narysuj mi} baranka//
\endgl

\begingl
\gla
— {Hein !} //
\glb
{} Co//
\endgl


\begingl
\gla
— Dessine-moi {un mouton}…//
\glb
{} {Narysuj mi} baranka//
\endgl

\begingl
\gla
{J’ai sauté sur mes pieds} {comme si} {j’avais été} frappé par {la foudre}. 
{J’ai bien frotté} mes yeux. 
{J’ai bien regardé}. 
Et {j’ai vu} {un petit bonhomme} {tout à fait} extraordinaire qui {me considérait} gravement. 
Voilà {le meilleur} portrait que, {plus tard}, {j’ai réussi à faire de lui}.//
\glb
{Skoczyłem na równe nogi} jakbym był trafionym przez piorun
Przetarłem moje oczy. 
{Dobrze się przyjrzałem}. 
I widziałem {małego gościa} zupełnie nadzwyczajnego który {przyglądał mi się} poważnie 
Oto najlepszy portret który później {udało mi się jemu zrobić}//
\endgl

\begingl
\gla
Mais mon dessin, {bien sûr}, est beaucoup moins ravissant que {le modèle}. 
Ce {n’est pas de ma faute}. 
{J’avais été} découragé dans ma carrière {de peintre} par {les grandes personnes}, {à l’âge de six ans}, et {je n’avais rien appris} {à dessiner}, sauf {les boas} fermés et {les boas} ouverts.//
\glb
Ale mój rysunek oczywiście jest dużo mniej wspaniały niż model
To {nie jest moja wina}
Byłem zniechęcony w mojej karierze malarza przez {dorosłe osoby} {w wieku 6 lat} i {nie nauczyłem się nic} rysować poza boza zamkniętymi i boa otwartymi//
\endgl

\begingl
\gla
{Je regardai} donc cette apparition avec {des yeux} tout {ronds d’étonnement}.
{N’oubliez pas} que {je me trouvais} {à mille milles} {de toute région habitée}. 
Or mon petit bonhomme {ne me semblait} ni égaré, ni {mort de fatigue}, ni {mort de faim}, ni {mort de soif}, ni {mort de peur}. 
Il {n’avait} {en rien} l’apparence {d’un enfant} perdu {au milieu} {du désert}, {à mille milles} {de toute région habitée}. 
Quand {je réussis} enfin {à parler}, {je lui dis :}//
\glb
{Przyglądałem się} zatem tej zjawie z oczami całymi {zaokrąglonymi ze zdziwienia}
{Nie zapomnijcie} że {znalazłem się} {tysiące mil} {od regionu zamieszkałych}
Otóż mój mały gość {nie wydawał się} ani zgubiony ani zmęczony ani wygłodzony ani spragniony ani przestraszony.
On {nie miał} {w ogóle} wyglądu dziecka zgubionego {po środku} pustyni {tysiące mil} {od regionu zamieszkałego}
Kiedy {udało mi się} wreszcie odezwać, {powiedziałem mu}//
\endgl

\begingl
\gla
— Mais {qu’est-ce que} tu fais là//
\glb
{} Ale {co} ty robisz tutaj//
\endgl

\begingl
\gla
Et {il me répéta} alors, {tout doucement}, comme {une chose} très {sérieuse :}//
\glb
I {powtórzył mi} wówczas powoli jakby rzecz bardzo ważną//
\endgl

\begingl
\gla
— {S’il vous plaît…} dessine-moi {un mouton…}//
\glb
{} Proszę {narysuj mi} baranka//
\endgl

\begingl
\gla
Quand {le mystère} est trop impressionnant, {on n’ose pas désobéir}. 
Aussi absurde que cela {me semblât} {à mille milles} {de tous} {les endroits habités} et {en danger de mort}, {je sortis} {de ma poche} {une feuille de papier} et {un stylographe}. 
Mais {je me rappelai} {alors que} {j’avais surtout étudié} {la géographie}, l’histoire, {le calcul} et {la grammaire} et {je dis} {au petit bonhomme} (avec {un peu} {de mauvaise humeur}) que {je ne savais pas} dessiner. 
Il me {répondit :}//
\glb
Kiedy tajemnica jest zbyt imponująca {nie można odważyć się sprzeciwić} 
Również absurdalnie że tutaj {mnie wydawało się} {tysiące mil} {od wszystkich} {miejsc zamieszkałych} i {w niebezpieczeństwie śmierci} wyjąłem {z kieszieni} {kartkę papieru} i {wieczne pióro}
Ale {przypominałem sobie} {w tym samym momencie że} {studiowałem głównie} geografię, historię, rachunkowość i gramatykę i powiedziałem {małemu gościowi} (z trochę {złym humorem}) że {nie umiem} rysować
On mi odpowiedział//
\(\)\endgl


\end{document}
1
  • Thank you. Works great. I didn't know about showframe package, seems really helpful. Commented Nov 9, 2014 at 13:43

You must log in to answer this question.

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