3

Is leaflet package incompatible with babel package?

This code does not work

    \documentclass[foldmark,10pt,a4paper,notumble]{leaflet}
    \usepackage[iso-8859-7]{inputenc}
    \usepackage[greek]{babel}
    \begin{document}
       Όμορφος κόσμος ηθικός αγγελικά πλασμένος
    \end{document}
3

Not babel itself but option greek is the problem. It redefines \@Roman to have roman numbers always in Latin letters. But unfortunately leaflet uses \Roman (and so \@Roman) internally very often and sometimes it breaks.

If you do not need roman numbers, you can try:

\documentclass[foldmark,10pt,a4paper,notumble]{leaflet}
\usepackage[iso-8859-7]{inputenc}
\makeatletter
\let\OrigRoman\@Roman
\makeatother
\usepackage[greek]{babel}
\makeatletter
\let\@Roman\OrigRoman
\makeatother
\begin{document}
Όμορφος κόσμος ηθικός αγγελικά πλασμένος
\end{document}

If you need roman numbers, you can try to use xpatch to patch the leaflet macros:

\documentclass[foldmark,10pt,a4paper,notumble]{leaflet}
\usepackage[iso-8859-7]{inputenc}
\makeatletter
\let\Orig@Roman\@Roman
\newcommand*{\OrigRoman}[1]{\expandafter\Orig@Roman\csname c@#1\endcsname}
\makeatother
\usepackage[greek]{babel}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\LL@AddToBackground}{\@Roman}{\Orig@Roman}{}{}
\xpatchcmd{\LL@AddToBackground}{\@Roman}{\Orig@Roman}{}{}
\xpatchcmd{\LL@savePage}{\Roman}{\OrigRoman}{}{}
\xpatchcmd{\LL@savePage}{\Roman}{\OrigRoman}{}{}
\xpatchcmd{\LL@savePage}{\Roman}{\OrigRoman}{}{}
\xpatchcmd{\LL@savePage}{\Roman}{\OrigRoman}{}{}
\xpatchcmd{\LL@savePage}{\Roman}{\OrigRoman}{}{}
\xpatchcmd{\@@end}{\@Roman}{\Orig@Roman}{}{}
\xpatchcmd{\@@end}{\@Roman}{\Orig@Roman}{}{}
\xpatchcmd{\@@end}{\@Roman}{\Orig@Roman}{}{}
\xpatchcmd{\@@end}{\@Roman}{\Orig@Roman}{}{}
\xpatchcmd{\@@end}{\Roman}{\OrigRoman}{}{}
\makeatother
\begin{document}
Όμορφος κόσμος ηθικός αγγελικά πλασμένος
\end{document}

the leadlet

Note: I do not know whether or not this could result in other problems. Because I did not examined the leaflet code in detail.

  • I' ve checked both and works perfect. The second way needs \usepackage{enumitem} \begin{enumerate}[label=(\roman*)] Thank you anyway – ELEFTS Feb 23 '17 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.