3

In typesetting documents where there are extended passages in ecclesiastical Latin and then the vernacular (English), I set babel to accommodate this and as the main language is Latin, I use \begin{otherlanguage}{english} to switch to English.

The picture shows what I want for the lettrine (so the environment is commented out) but that doesn't work, because the ecclesiasticlanguage is in effect, the punctuation is incorrect (it adds a slight space between double punctuation marks like semicolons and colons) and the hyphenation is wrong (particularly latinate words like "refuge" which babel hyphenates as "refu-ge" which is obviously wrong in English.

See my MWE where everything compiles with correct language settings, but the lettrine is in the left margin, which I don't want. Note that I don't have any options set document-wide or locally for the lettrine.

I have already tested closing and starting a new otherlanguage environment, but that doesn't work, and it pushes the first O into the margin. I note too that there are empty lines before and after lettrine so LaTeX can start a new (LaTeX) paragraph.

% !TEX TS-program = LuaLaTeX %%I use this since I will always use packages requiring LuaLaTeX

\documentclass[11pt]{article}

 \usepackage[english,ecclesiasticlatin.usej,activeacute]{babel}
     \babelprovide[hyphenrules=latin]{ecclesiasticlatin}
     
     \usepackage{lettrine}
     \usepackage{ebgaramond}
     
\begin{document}

\begin{otherlanguage}{english}

%%problem is when the otherlanguage enviornment is used
%%commenting them out fixes the problem.

\lettrine{O}{} merciful God, let the glorious intercession of Thy saints assist us; above all, the most blessèd Virgin Mary, the Immaculate Mother of Thine only-begotten Son, and Thy holy apostles,Peter and Paul…


Let us pray.

\lettrine{O}{} most loving Lord Jesus, Who, when Thou wert hanging on the Cross, didst commend us all in the person of Thy disciple John to Thy most sweet Mother, that we might find in her our refuge, our solace and our hope…

\end{otherlanguage}

\end{document}

enter image description here

2
  • 2
    the lettrine goes into the left margin if one removes the empty line before the \end{otherlanguage}, perhaps this was your problem. Commented May 28 at 20:52
  • That appears to be it. I need an empty line after the last line of body text before closing the environment. (This is not obvious to me as a novice-intermediate user, even after looking at the lettrine documentation.) Commented May 28 at 21:01

2 Answers 2

4

If you don't leave a blank line before \end{otherlanguage}, the paragraph is not yet finished when the group ends and the effect of \lettrine and the \parshape settings are lost.

It makes sense, for your application, to add \par before ending the environment, assuming that you always have complete paragraphs inside them.

I'd use otherlanguage*, though.

\documentclass[11pt]{article}

\usepackage[english,ecclesiasticlatin.usej,activeacute]{babel}
\babelprovide[hyphenrules=latin]{ecclesiasticlatin}

\usepackage{lettrine}
\usepackage{ebgaramond}

\AddToHook{env/otherlanguage*/end}{\par}

\begin{document}

\begin{otherlanguage*}{english}
\lettrine{O}{} merciful God, let the glorious intercession of
Thy saints assist us; above all, the most blessèd Virgin Mary,
the Immaculate Mother of Thine only-begotten Son, and Thy holy
apostles, Peter and Paul…

Let us pray.

\lettrine{O}{} most loving Lord Jesus, Who, when Thou wert
hanging on the Cross, didst commend us all in the person of
Thy disciple John to Thy most sweet Mother, that we might
find in her our refuge, our solace and our hope…
\end{otherlanguage*}

\end{document}

enter image description here

Even better, define your own environment:

\documentclass[11pt]{article}

\usepackage[english,ecclesiasticlatin.usej,activeacute]{babel}
\babelprovide[hyphenrules=latin]{ecclesiasticlatin}
     
\usepackage{lettrine}
\usepackage{ebgaramond}

\NewDocumentEnvironment{enpars}{}
  {\begin{otherlanguage*}{english}}
  {\par\end{otherlanguage*}}

\begin{document}

\begin{enpars}
\lettrine{O}{} merciful God, let the glorious intercession of 
Thy saints assist us; above all, the most blessèd Virgin Mary, 
the Immaculate Mother of Thine only-begotten Son, and Thy holy 
apostles, Peter and Paul…

Let us pray.

\lettrine{O}{} most loving Lord Jesus, Who, when Thou wert 
hanging on the Cross, didst commend us all in the person of 
Thy disciple John to Thy most sweet Mother, that we might 
find in her our refuge, our solace and our hope…
\end{enpars}

\end{document}
2
  • Thank you. I had read about blank lines before and after each \lettrine; it's not obvious that the environment can affect this as well. Why ` otherlanguage*`? (I don't understand the code required to use it at all.) Commented May 28 at 21:19
  • 2
    @DomMocquereau I added a slightly different approach that should be even better, because it allows you to do further customizations in case need arises. The difference between otherlanguage and otherlanguage* is that the latter doesn't change the language specific captions, which you don't need, so it's more efficient.
    – egreg
    Commented May 28 at 21:22
0

\lettrine{O}{} most loving Lord Jesus, Who, when Thou wert hanging on the Cross, didst commend us all in the person of Thy disciple John to Thy most sweet Mother, that we might find in her our refuge, our solace and our hope…

\end{otherlanguage}

with an empty line is the correct formatting. Removing that (which I did not do, inadvertently, in the OP) is apparently the problem and causes the lettrine to go into the margin. Thanks to @Ulrike Fischer.

You must log in to answer this question.

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